エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
STM32 HALでDMAを使ってSPIのスレーブデバイスを作る
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
STM32 HALでDMAを使ってSPIのスレーブデバイスを作る
STM32のデバイスにおいてHALを使ったSPIのスレーブモードに関する知見です。HALのSPIはポーリング、IT、... STM32のデバイスにおいてHALを使ったSPIのスレーブモードに関する知見です。HALのSPIはポーリング、IT、DMAの3種類の利用形態がありますが、今回はDMAを使った方法です。 記事中ではスレーブ側デバイスとして NUCLEO-F303K8(STM32F303K8)、マスタ側デバイスとして Arduino Uno(ATmega328P) を使います。今回は全二重モード(Full-Duplex Slave)でSPIを使います。 今回は「マスタが1バイトのデータを送り、スレーブがそれを受け取って送り返す」ことを1回の通信として想定します。 結論 STM32を使った全二重モードにおいて、NSS(スレーブセレクト)がActiveのまま連続して送受信を行う場合、直前の送受信の終了の後に、STM32のクロック周波数に応じた適切な待ち時間を入れる 必要があります。 これはHALではなくSTM32