2014年12月15日(月) 21:03
シリアルメモリーの内容を取り出す場合など、USARTでパソコンに吸い出すのは良くある手段である。ネットの作例でも、マイコンから大量のデーターを送り出すのにUSARTを使っている例が極めて多い。しかし自分は、USARTは嫌いである。今回も、念のためいろいろなペリフェラルのライブラリーやらサンプルを確保しているが、USART関係は全削済み。絶対に使わないから、要らない。
とにかく使い勝手が悪いので、それしか手段がない場合のみ仕方なく使う。
まず、相手側にターミナルソフトが必要。SDカードなら屋外でも単独で使えるが、USARTでは運用が面倒。更に、認識不良も良く発生する。いざという時に、信用できない。バックアップ用途など、論外もいいところだ。
USARTを愛用している人も居るだろうけど、これは純粋な趣味の工作でありすべてを個人的好みで決めさせて貰う。
さて、シリアルメモリーへの書き込みだが、最大256バイトとデーター量が多い。だから、SPIも高速に行いたい。最高に速度を出せるよう、センサーのようなソフトウェアSPIは使わないようにしたい。せっかく最大85Mビットなんて速度が出せるのに、もったいない。実際はデーターの信頼性を考慮し、実用範囲内で転送速度は落とすべきではあるが。
そうなると、これまで試さなかったSTM32F4ビルトインのSPI機能の出番。すなわち、使用するピンが限定される。重複し難く利用し易いのは、SPI2である。しかしこれが、センサーデーターを読み出すSPIと重複している。そこで、ソフトウェアSPIであってピンアサインに自由度が高いセンサーデーターの方を、移動させる。
どうせセンサーを接続し直すのだから、暫定的にSPI2に接続するのが良いだろう。すなわち、ハードウェアSPIが成功しているかどうかの確認用。
これで、SPI2の利用が正しくできることを確認後、センサーは最終的な場所へ移動。SPI2には、シリアルメモリーを接続すれば良い。
STM32のSPI機能は、CS信号にバグがあるとの情報が得られている。本当にバグっているのか?その回避方法の具体的なプログラムコードとは、いかなるものか?確認を要する。
written by higashino [マルチローター] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]
Generated by MySketch GE 1.4.1
Remodelling origin is MySketch 2.7.4