質問: こんにちは 私は今、BLENanov2(nrf52832)というNordicのマイコンを使用しています。 開発環境はKeilのSDK15を使用しています。 このマイコンとSDカードをSPI通信をし、加速度センサとマイコンをI2C通信を行うことで、加速度センサから読み取った値をSDカードに書きこみを行おうとしています。 現在、SDカードとのSPI通信は完了していますが、加速度センサとのI2C通信がうまくいっていません。 LSM303DLHCのデータシートを見ながら動作条件等をプログラムに書き込み、動作させようとしましたが、オシロスコープで波形を観測したところ、出力3.3Vで一定になっていて通信できていないことがわかります。 プログラムはSDK15のtwi_sensor exampleを参考にしました。 ``` TWI_start(); //ST twi_init(); //nrf_twi_address_set(&m_twi,0x19); LM75B_set_mode(); //SAD+W,SUB(SUB[7] set to 1) TWI_start(); //SR read_sensor_data(); //SAD+R TWI_stop(); //SP ``` この流れで通信を行えばI2C通信ができると思ったのですが、足りない部分があったらご指摘いただけるとありがたいです。 プログラムの全容などを貼る必要があれば言っていただければ貼ります。 ちなみに、SPI通信でSPI0を使用したため、sdk_configの方でTWI1を使用しています。 以上よろしくお願いします。
回答: それぞれ呼び出した前後にdelayを入れることによって解決しました。 delayの時間においてはセンサデータシートを参考にしました。