293708 ランダム
 HOME | DIARY | PROFILE 【フォローする】 【ログイン】

NXTな毎日につられる日々

NXTな毎日につられる日々

【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! --/--
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x
X

PR

×

Keyword Search

▼キーワード検索

Profile

ぽよこまだんな

ぽよこまだんな

Calendar

Rakuten Card

Favorite Blog

まだ登録されていません

Comments

chocola@ロボットモード@ Re[2]:ちょっと組み立て(02/05) ぽよこまだんなさん、早々のお返事、あり…
ぽよこまだんな@ Re[1]:ちょっと組み立て chocola@ロボットモードさん、こんばんわ…
ぽよこまだんな@ Re[1]:日本大会2014、注目ロボット 関西人さん、こんばんわ コメントありがと…
chocola@ロボットモード@ Re:ちょっと組み立て(02/05) 少し前の記事なのに今頃すみません。 iMod…
関西人@ Re:日本大会2014、注目ロボット(03/24) 日本大会、ありがとうございました レスキ…

Freepage List

Headline News

2010.09.20
XML
カテゴリ:NXT
最近やっとPSoCのI2Cスレーブの使い方がわかったので
NXTに繋いでいることにします

まず、チップレベルデザインでプロジェクトを作成します
ターゲットのICはCY8C27443にします
User ModulesからDigital Comm→I2CHWをドラッグして配置します
PSoCにはいくつかI2Cのモジュールがありますが、
スレーブで使えるのはこのI2CHWだけです
このモジュールはPSoC内のハードウェアによって処理され
その分使用出来るピンが限られています

配置するとどのオペレーションを使用するか聞いてきますので
SlaveOperationを選択します

配置したI2CHWのパネルから
Slave_addrを1
I2C Clockを50K Standard
I2C PinをP[1]5-P[1]7
と設定します

次にmain.cを開きます
プログラムはこんな感じ

#include <m8c.h> // part specific constants and macros
#include "PSoCAPI.h" // PSoC API definitions for all User Modules

char readBuf[1] = {0};
char writeBuf[1] = {0};

void main(void) {
BYTE status;

//初期化処理
I2CHW_1_Start();
I2CHW_1_EnableSlave();

//送信、受信バッファを先頭に戻す
I2CHW_1_InitRamRead(readBuf, sizeof(readBuf));
I2CHW_1_InitWrite(writeBuf, sizeof(writeBuf));

//割り込み有効
M8C_EnableGInt;
I2CHW_1_EnableInt();

while(1) {
//I2Cの受信確認
status = I2CHW_1_bReadI2CStatus();
//マスタからの書き込みが完了していたら
if( status & I2CHW_WR_COMPLETE ) {
//ステータスクリア
I2CHW_1_ClrWrStatus();
//受信バッファを先頭に戻す
I2CHW_1_InitWrite(writeBuf, sizeof(writeBuf));

//送信バッファを先頭に戻す
I2CHW_1_InitRamRead(readBuf, sizeof(readBuf));
//超音波センサーリードコマンド確認
if (writeBuf[0] == 0x42) {
//送信データを設定
readBuf[0] = 3; //ここでNXTに返却する値を決める
}
//受信バッファをクリア
writeBuf[0] = 0;
}
}
}

(あいかわらずタブが反映されませんが^^;)

基本はハードが処理してくれますので
タイミングに合わせて受信バッファを確認し
送信バッファに返却値を入れるだけです
ただし、送信バッファに返却値を入れるのに時間が掛かると
バッファの次の値が送信されてしまいます
(今回はバッファが1バイトなので前回の値が返るだけですが)

PSoC_NicosensorTest.gif





お気に入りの記事を「いいね!」で応援しよう

Last updated  2010.09.20 11:33:00
[NXT] カテゴリの最新記事



© Rakuten Group, Inc.
X