2016-11-24 14 views
0

Spi通信を使用してマスターとスレーブを同期させる方法を教えてください。私はマスターから10ミリ秒のリアルタイムクロック(miso、mosi、cs、sckを除いて)を生成しました。そして今、クロックの各立ち上がりエッジでスレーブを同期させなければなりません。スレーブは、スレーブが送信するデータがある場合は、データのマスタ要求を(ADCから)許可し、(2.5 msごとに)タイムスライスを使用します。今私の問題はメイン()で私はwhile(1)を使用する必要があります(または私は?)それは私が読むためにかかる時間を作ることができませんデータを読むとき。同期化のための他の解決策はありますか? (私はLPC1343を使用しています)ARMのマスターとスレーブのSpi通信の同期

+0

マスターまたはスレーブをコーディングするかどうかは不明です。スレーブが何らかの形でインテリジェンスを持っている場合は、データを連続的に読み取ることが習慣であるため、マスタが必要とするときにはすでに利用可能であり、MISOが使用するデータバッファに配置されます。 – Lundin

答えて

0

通常、SPI ADCはデータを自律的にサンプリングし、IO割り込みによってキャプチャされたデータが利用可能であることをマスタに示すためにIOをフリップするように構成されています。

SPIスレーブを同期して動作させたい場合は、10msごとに「今すぐサンプルする」ように指示する必要があります。ポーリングと呼ばれます。

タイマ割り込みは、ポーリングメカニズムを起動するルーチンを呼び出す必要があります。

関連する問題