2012/08/05

[fm3]I2Cが動かんのはプルアップ抵抗の値か

FM3基板のI2C。
サンプルドライバはFRAMアクセスするようになっているので、動かしてみた。

・・・動く。
割込がちゃんと入ってくるし、ACKも確認できている。

FRAMは、SOT1_0 / SCK1_0を使っている。
じゃあ、SOT1_2 / SCK1_2に差し替えればとりあえず動くのかな?

・・・動かない。
割込が入ってこない。
ソフトは同じで、変更したのはポートだけだ。

では、未接続のSOT6_1 / SCK6_1にしてみたら?
・・・割込が入ってきた。
未接続だからエラーなんだけど、割込は来る。

ではでは、SOT6_1/SCK6_1にLCDを接続すると?
・・・割込が入ってこない。

 

つまり、接続する相手のせいで割込が入ってこないようになっているのだ。
うーん、その可能性は考えてなかったなぁ。


LCDの型番で検索
うーん、みんな22kΩくらいのプルアップ抵抗だなぁ。
ストロベリーリナックスさんのページには、20kΩ以上で100kΩでもいい、くらいなことを書いていたように思う。
なので47kΩのを使っていたのだが・・・。

 

私も20kΩくらいの抵抗を探し出し、つないだ。

image

出るやん・・・。
プルアップ抵抗って、そんな微妙なものなのか・・・。

では、設定をやり直して。。。

image

わーい。
素直に嬉しい。

プルアップ抵抗なんてエッジがなまらない程度にしておけばいいんだろうと思ってたけど、神秘の深淵を除いた気持ちである(おおげさ)。