2015/03/14

[mbed]ST7032iを動かす

せっかくNUCLEO-F411REを買ったので、mbedっぽく使ってみたい。
まずはI2Cデバイスを動かそう、ということで、以前買っていたST7032iをつなぐことにした。

I2CのドライバはAPIがあるのはわかっていたので、uITRONで作っていた初期化とかを移植するか。
と思っていたら、mbed用のライブラリが既に作られていた。
SB1602E (ST7032) | mbed
これが・・・mbedの威力か。

結果的に、1時間程度で動かすことができた。
その1時間も、程よい抵抗器を探したり、ブレッドボードにどうやって配置しようか悩んだり、SDAとSCLを逆にしててロジアナで波形取ったりとかいう時間がほとんどだ。

記念なので、接続したときの写真を載せておこう(動かしたときの写真じゃない)。
今回のプルアップ抵抗は、4.7kΩにした。

image

I2Cの最初のアクセスも載せておこう。

image

 

I2Cの仕様としては、アドレスは7bitだ。
I2Cマスターが送信するときは、アドレス7bitに続けて、1bitのRead(1)/Write(0)情報を載せる。
ライブラリで提供されているとき、指定するアドレスが7bitのものにするのか、Read/Write情報まで含めた8bitのものにするのか、あるいはRead/Write情報をライブラリ側でORすればいいように8bitのものにするのかは、調べた方がよいだろう。
mbedの場合は2番目のパターンになるようだ。


確か、私はストロベリーリナックスさんから購入したのだが、今はスイッチサイエンスさんからも出てるみたいだ。
I2C接続の小型LCD搭載ボード(3.3V版) - スイッチサイエンス
Arduinoは直接挿せるようだけど、ピンとしてはアナログのA1~A5に挿す想定のようだ。
NUCLEOで同じことができるかわからない。
ストロベリーリナックスさんのHW構成(コンデンサ内蔵)に加えて、スイッチサイエンスさんのはI2Cのプルアップ抵抗も取り付けてあるので、そのまま接続するだけで使えそうなのが良いですな。

0 件のコメント:

コメントを投稿

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。

注: コメントを投稿できるのは、このブログのメンバーだけです。