問題タブ [bluepill]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
375 参照

timer - STM32 タイマーによって制御される DMA と PWM の無効化と有効化

STM32F103を使用しています。タイマーによって制御される DMA 転送と PWM 信号を動的に有効または無効にしようとしています。タイマーは非常に不安定で、再起動ごとに結果が変わります。このコードは、DMA 転送と PWM 信号を有効にする関数 CAM_startLineTransfer() を実行します。

DMA が 640 バイトを転送したら、割り込みをトリガーする必要があります。

関数 CAM_stopLineTransfer() は DMA と PWM 信号を無効にする必要がありますが、タイマー自体は無効にしないでください。タイマーはカウントし続ける必要があります。

ただし、タイマーは非常に不安定で、タイマー全体が無効になることもあれば、割り込みが呼び出されないこともあります。何が起こっている?ここに、メインプログラム全体があります。