Closed Osamu1353 closed 8 years ago
Konashiのi2c通信を使おうとしていますが、疑問があります。 割り込みがアクティブになったときに、下記のような関数で処理をさせようとしています。
readRead()でi2cを使って割り込みのステータスを読み出し、その後i2cStopCondition()を 発行してから、最後に割り込みに応じた処理をする流れになります。
ここで、i2cStopCondition()とresponseInterrupt(intrFlag)の間で同期処理がないのですが、 このままで大丈夫でしょうか。それとも同期を取る必要があるでしょうか。
あるレジスタを読み出してその結果に応じて別のレジスタを読むような処理のサンプルを お持ちでしたら、参考にいただけないでしょうか。
public void handleInterrupt() { readReg(REG_INTERRUPT_STATUS, (short)SIZE_REG) .then(new DoneCallback<byte[]>() { @Override public void onDone(byte[] result) { long intrFlag = Register.bytes2reg(result); mKonashiManager.i2cStopCondition(); responseInterrupt(intrFlag); } }); }
@Osamu1353 こちらのリポジトリでは konashi に関する質問を取り扱っておりませんので、お手数ですが contactatux-xu.com までご連絡ください。 こちらの Issue は一旦 Close させてもらいます。
contact
ux-xu.com
Konashiのi2c通信を使おうとしていますが、疑問があります。 割り込みがアクティブになったときに、下記のような関数で処理をさせようとしています。
readRead()でi2cを使って割り込みのステータスを読み出し、その後i2cStopCondition()を 発行してから、最後に割り込みに応じた処理をする流れになります。
ここで、i2cStopCondition()とresponseInterrupt(intrFlag)の間で同期処理がないのですが、 このままで大丈夫でしょうか。それとも同期を取る必要があるでしょうか。
あるレジスタを読み出してその結果に応じて別のレジスタを読むような処理のサンプルを お持ちでしたら、参考にいただけないでしょうか。
public void handleInterrupt() { readReg(REG_INTERRUPT_STATUS, (short)SIZE_REG) .then(new DoneCallback<byte[]>() { @Override public void onDone(byte[] result) { long intrFlag = Register.bytes2reg(result); mKonashiManager.i2cStopCondition(); responseInterrupt(intrFlag); } }); }