STM32F3のタイマ
ポーリングでホールICの信号を読み取っていたのを、割り込みイベントに変更。
STM32のタイマーは、ブラシレスモーターのホールIC入力に対応している。
3相分の信号をつなげると、それぞれのXORをとって、タイマーのイベント入力につなげられる。
F1のときは、その信号のエッジが立ち上がりか立下り、どちらかしか設定できず、目的の動作をさせるには、イベント/レジスタを2つ用意しないとだめだった。
(設定自体はできるので、ぎりぎり所望の動作はできる。)
------
F3のタイマは、レジスタはF1の同名のタイマとそっくりで、設定もほとんど同じだ。
だがよくよくデータシートを見ると、イベント設定のレジスタに新しいフラグビットが追加されていて、両エッジのイベントを取れるように変更されている。
これはありがたい....が、そのつもりで見ないと、変わってることに気付かないよなあ。
同じTIM2と名づけるなら、全く同じにしてほしいものだ。
変わったんなら、TIM2aとかにしてくれればいいのに。
STM32は全般的に、こういった傾向がある。
設計の方向性なんだろうけど、新しい品種が出ると、ペリフェラルは今までと一見同じように見えても、地味~~に改良されていることがある。
まあ、おかげで助かることも多いけど、古い世代のチップに戻ろうとしてハマったりもする。
------
割り込みでも動くようになった....がちょっと変だ。
モーターから異音がする。
割り込みがうまくいってないようだ。
デジタルフィルタは最大に設定されているんだけれど、まだ足りてないのかな。
| 固定リンク | 0
« EC20 テスト | トップページ | 一般公開 »

コメント