私の知る限り、SPIスレーブのSPI送信は以下のように機能します。
- マスターはSSピンを使用してスレーブを選択します
- マスターとスレーブが同時にデータを互いに送信する
- マスターはクロックとデータ送信を同時に開始します(書き込み操作の前にクロックはありません)
- スレーブは送信するデータがまだある場合でも、マスターは必要に応じていつでも(書き込み操作とクロック生成を停止することにより)送信を停止します。
スレーブがマスターの許可なしにデータを送信できるようにするSPIスレーブ構成はありますか?
大声で考えているだけです。スレーブが1つだけあり、マスターなどから連続クロックが提供されていると仮定します。
SPIのスタートストップビットがないため、想定されたステートメントがtrueであっても、マスターとスレーブはバイト同期を失いません(つまり、ビットストリームを受信しません)。
このドキュメントの次のセクションを読んだので、私はそのような質問をしています。
2.2 SPIの例
添付のSPIの例は、同期モードでのUSARTの使用を示しています。USART2がマスターであるのに対し、USART1はスレーブとして構成されています。以下のトランザクションが行われます。
- マスターからスレーブへのデータ送信。
- スレーブからマスターへのデータ送信。
- マスターからスレーブへのデータ送信とスレーブからマスターへのデータ送信を同時に行います。
このドキュメントではSPIの例を示していますが、USARTデバイスを使用して例を実現しています。そして私は、USARTスレーブがマスターの許可なしに送信を開始できることを理解しています。
ドキュメントで参照されているソースコードが見つかりませんでした。