I2Cを使う
I2Cを使ってセンサー、LCD表示器、EEPROMなどを制御することができます。温度・湿度・気圧を計測できるBME280をTWELITE DIPにつなげてデータを計測します。BME280はデータ補正用のトリムデータなどいろいろ面倒な手続きをしない計測データを確定できません。サンプルプログラムでは対応できません。SMBus.cの関数bSMBusRandomRead()を改良してBME280を動かします。説明をするとオシロスコープの波形などいろいろ手間と時間がかかるので省略してしまいます。ソースファイルを読んでください。

bme280.c bmc280.h
BME280の制御です。

SMBus.c SMBus.h
I2CのRead/Writeです。

注意:このコンパイラは、
sprintf(buf, "%f\r\n", 123.4);
が正常に動作しません。%dなら正常です。何で?


My_I2c.zip ダウンロード