2

コード設計に関しては、プロジェクトをどのように進めればよいかわかりません。

アナログ/デジタル コンバーターで電圧値を監視する必要があり、測定値が特定の制限を超えた場合にその pwm 出力を調整する必要があるデバイスを考えてみてください。デバイスには、LED やボタン、ポテンショメータなどのインターフェイスもあります。

ユーザーがポテンショメーターの値を変更した場合、デバイスはユーザー入力を待機している間も電圧を監視する必要があります。もう 1 つの懸念は、デバイスが高速に動作する必要があることです (10 ミリ秒以内に電源のドライバーをシャットダウンします)。ステートマシンまたは手続き型プログラミングをお勧めしますか?

C でステート マシンを構築するのはどれほど難しいでしょうか? コントローラ (STM32F0) が 4 つの ADC 入力を読み取って 2 つの PWM を生成する必要がある場合、十分に高速でしょうか?

4

1 に答える 1

2

ステート マシンは、スケールアップする必要のない小さなアプリケーションに最適です。これが 1 つの目的を果たすデバイスに送られる場合、ステート マシンは問題ありません。機能クリープになると、ステート マシンはすぐにめちゃくちゃになります。

使用しているプロセッサには、このタスクを処理するのに十分な処理能力があります。最もうまくいく可能性が高いのは、タイマーと割り込み駆動型の設計です。タイマー割り込みから ADC を読み取ります。1000Hz 以上で ADC を簡単に読み取ることができるはずです。

また、浮動小数点の代わりに固定小数点または整数を使用します。

于 2015-05-16T15:04:15.517 に答える