「未分類」カテゴリーアーカイブ

RX マイコン I2C モニター

I2C モニター

RX マイコンのサンプルで中途のプロジェクトを更新した。

I2C デバイスを接続して、操作を行うサンプルだが、雛形は作ったが、中身は無い状態だった。
※サンプルはそれなりに多いので、作ったつもりで忘れている事もあるw

それを、ある程度実装した。

※実験は、RX72T ボードで行った、IICA ペリフェラルを利用している。


対話形式で、I2C デバイスと通信する

とりあえず、最低限必要なコマンドを実装。

コマンド パラメーター 機能
scan start end I2C デバイスをスキャンする
adr address 操作を行う I2C デバイスのアドレスを設定
r num I2C からデータを受け取る(recv)
s data... I2C へデータを書き込む(send)

操作画面

操作の入出力は、シリアル接続されたターミナルで行う。

接続したデバイスは、DS3231 のモジュールで、24C32(EEPROM)も載っている。

起動時:

Start I2C sample for 'RX72T' 200[MHz]
SCI Baud rate (set):  115200
SCI Baud rate (real): 115287 (0.08 [%])
CMT rate (set):  100 [Hz]
CMT rate (real): 100 [Hz] (0.00 [%])
I2C Start ok: (intrrupt level = 0)
#

スキャン:

# scan
Ditect I2C address: 0x57 ( 87, 0b1010111)
Ditect I2C address: 0x68 (104, 0b1101000)
  Ditect I2C Device(s): 2
#

書き込みと読出し:

# adr 0x68
# s 0
# r 16
43 39 03 06 03 09 21 00 00 00 00 00 00 00 00 88

# s 0
# r 16
50 39 03 06 03 09 21 00 00 00 00 00 00 00 00 88

#
  • I2C アドレス設定(0x68)
  • アドレスレジスタを設定(0)
  • 16バイトの読出し
  • 秒カウンタが変化している。(43 ---> 50)

まとめ

とりあえず、動作しているので、コミットしてある。

まだまだ、初期段階なので、今後拡張していきたい。

IICA の割り込みモードも完成させたい。