アマチュア無線や電子工作,バイクの話などを徒然なるままに書き散らすメモ程度のblogです.


by jq1ocr

骨折り損な TWI

tiny85 の件です.結局ピンアサインが気に入らず,USI は使わずに従来通りソフトウェア TWI を使うことにしたのですが,どうも BME280 が動いていないように見えます.最初は TWI の実装が不完全なのでは?と気になってしまい,散々タイミングなどを見直したのですが,不審な点が見当たらず.....

つつくところが違ってる感が漂ってきたので,他の I2C デバイスもつけて確認しようと,同じくしまいこんでいた LPS331AP を引っ張り出してきました.

すると,なんとこっちはあっけなく通信できました.というわけで,TWI の問題ではなくて,BME280 が壊れているという可能性が否定できなくなってきました.
d0106518_1241956.jpg

表示の 255 は BME280 から読み取った ID ですが,ack がないので通信できてはいません.数値はプルアップしているからそうなっているのであって,結局動かせていないことを示しています.次の 187 は 0xBB になりますが,LPS331AP からの正しい応答です.

ただ LPS331AP も気圧や気温のデータは出てくるのですが,なにかおかしいです.データ長が長いため,プログラム側でも一工夫するわけですが,そこでつまづいているのかそれにしても変なので,もしかして,こっちもおかしかったりして,なんて思ったりもしています.苦笑

余談ですが,ソフトウェア TWI だけで結構な容量を食ってしまうわけですが,tiny85 はメモリが大きいので,その上 float とかを使ってプログラムが大きくなっても書き込めてしまいます.この気楽さ,もう tiny13A には戻れないかも.笑
[PR]
by jq1ocr | 2016-12-12 21:30 | マイコン・電子工作 | Comments(0)