0
私はNucleo STM32L031を使用しています。私のアプリケーションでは、タイマーと比較値を使って割り込みを生成したいと思います。 私の問題は次のとおりです。タイマーを開始してから一時停止したいので(カウンター値は停止しますがリセットされません)、タイマーを(停止値から)もう一度開始します。そして、比較された値に達すると、割り込みを生成します。STM32L0:休止タイマー?
カウンタの値をリセットせずにタイマーを一時停止するにはどうすればよいですか? また、私は確信していません:HAL_TIM_BASE_Stop_IT()関数は、カウンタ値を一時停止またはリセットしますか?
ありがとうございました。 ビエン
RCCを介してゲートされたクロックでは、カウントを含むタイマーレジスタにアクセスすることはできません。クロックゲーテッド周辺デバイスのレジスタにアクセスしている場合、バスフォルトが発生する可能性があります。 – rjp
助けてくれてありがとう@imbearr。 - 第1のアプローチ:希望のタイマーを選択することは可能だと思います。 - 第2のアプローチ:これらのHAL機能を使用する場合、すべてのタイマーのクロックを停止しますか?希望のタイマーだけを選択できますか? – bienle
私は 'STM32F207'、' F091'、 'F411'で作業しました。 「STM8L051」、「L151」、およびこれらのMCU「RCC」レジスタのすべてについて、周辺インスタンスごとに1つのビットクロック制御を有する。だから、私はタイマークロックが欲しいと思うだけだと思う。とにかくMCUのリファレンスマニュアルを開き、RCC_APxxENRレジスタにどのようなビットが表示されているのか、 '__HAL_RCC_TIMx_CLK_ENABLE()'マクロの定義を開いてみることができます。 – imbearr