STM32CubeMXでTimerをエンコーダ入力モードに設定する

STM32CubeMXでタイマーをエンコーダ入力モードに設定する方法がわかりにくかったので書いておきます。

ターゲットCPU stm32F407

stm32Fシリーズはピンに2相エンコーダの信号を接続してアップダウンカウンタとして使う機能があります。
STM32CubeMXを使ってタイマをエンコーダ入力モードに設定しようとしたのですが、どのように設定してもエンコーダ入力にする方法がわからず、結局グーグル先生に聞いてロシア語のサイトでやっと設定方法が見つかりました。

端子をタイマーモードで使うにはまずPinout設定のCPU端子が表示されている画面で端子機能を選択します。
TIM3のCH1とCH2をエンコーダインターフェースにしたいので、端子をクリックしてPA6でTIM3_CH1を選択します。

configtimer2

同様にTIM3_CH2機能がある端子でTIM3_CH2を選択して、次に左の機能がツリー構造で表示されている部分でTIM3の機能を選択します。

普通はSlave Mode, Trigger Source, Clock Sourceと手探りで設定していけばなんとか答えにたどり着けるのですが今回はどうやってもエンコーダモードらしき設定が出てきません。
しばらく試行錯誤した後についにあきらめてグーグル先生に聞いた正解が次の通りでした。

configtimer1

上から全部Disableに設定すると最後にCombined Channelsで Encoder Modeが選べるようになります。

そうしておいてConfigure画面のタイマー設定で入力にどのCHを使うかを設定すればOKということでした。

configtimer3

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)