メニュー
▼ アクセス(地図)
▼ Windowsアプリ開発 ▼ マイコン開発 ▼ CGI・PHP制作 |
▼ サイトマップ(全投稿記事)
▼ タイトル(画像一覧) ▼ 事業内容 |
お問い合わせメールフォームが開きます。
2010年11月07日
ルネサスV850ES/JG2・I2C初期化
Interface (インターフェース) 2007年5月号の、Renesas(旧NEC)マイコンV850(V850ES/JG2)を使用して、I2C通信を実装した際のメモ書きです。
I2C通信を実装する際に、メーカのアプリケーションノートを参考にしましたが、V850はシリーズがいろいろあるので、今回の品種については、そのままコピーして使用できるコードはありませんでした。
レジスタ名が異なったり、レジスタそのものがなかったり、などなどです。
V850ES/JG2のユーザーズマニュアルのI2C通信の項目を見なおして、ポイントになる部分がありました。
I2C(0ポート)の初期化は下記のようなコードになりました。
初期化後の通信手順はメーカ提供のアプリケーションノートを参考にすれば問題ないと思います。
---------------------------------------------------
PF3 |= 0x0300; /* N-ch OD ポートニ設定 */
PM3 |= 0x0200;
P3 &= ~0x0200; /* ポートヲ入力ニ設定 出力ラッチニ '0' ヲ書キ込ミ */
PM3 |= 0x0100;
P3 &= ~0x0100; /* ポートヲ入力ニ設定 出力ラッチニ '0' ヲ書キ込ミ */
PMC3 |= 0x0300; /* ポートヲ IIC モードニ設定 */
PFC3 |= 0x0300; /* ポートヲ IIC モードニ設定 */
IICC0 = 0x00; /* IIC動作禁止ナド */
IICCL0 = 0x00;
WTIM0 = 1; /* 9bit目デ割リ込ミ */
IICF0 = 0x01; /* 通信予約禁止 */
OCKS0 = 0x13; /* クロック動作許可 fxx/5 */
SVA0 = 0x50; /* 自局アドレス */
IICMK0 = 0; /* 割リ込ミマスク許可 */
IICIF0 = 0; /* IICA割リ込ミ要求クリア */
IICE0 = 1; /* IIC動作許可 */
SPT0 = 1; /* ストップコンディション */
if( !IICBSY0 ) /* バス解放状態 ? */
{
SPT0 = 1; /* ストップコンディション */
while( !STD0 ); /* ストップ・コンディション検出待チ */
}
IICIF0 = 0; /* IICA割リ込ミ要求クリア */