1

私は私のプロジェクトでmsp430f2013マイクロコントローラーを使用しています..パルス信号周波数の着信トレインを計算する必要があるという点で....私はそれを行う方法がわかりません....誰かがこれで私を助けることができます..サンプルコードは私にとってより便利です....

4

2 に答える 2

2

マイクロコントローラのマニュアルを読んでから、2 つのパルス エッジ間の間隔 (たとえば、1 つのリーディング エッジから次のエッジまで) を測定できるタイマーを設定する方法を理解する必要があります。周波数 f は、この時間間隔 t の逆数になります。

f = 1 / t
于 2011-02-19T09:44:47.253 に答える
1

これにはさまざまな方法がありますが、おそらく最も簡単に理解できるのは、タイマーを単純なカウンターとして設定することです。入力ピンをポーリングし、状態が変化したときにタイマーのカウントを保存し、状態が再び変化したときにタイマーのカウントを保存し、一方の時間を他方から減算します。これは、1秒あたりの周波数Xティックのクロックティックの数です。あなたの違いは、入力パルスごとの y ティックです。y / x ティックが相殺され、パルスあたりの秒数が得られます。立ち上がりエッジから立ち上がりエッジまで、または立ち下がりエッジから立ち下がりエッジまでの全周期を測定している場合、減算するタイマー サンプルの違いは同じソリューションです (たとえば、最後の立ち上がりエッジと現在の立ち上がりエッジ)。

一部のマイクロコントローラには、入力ピン (または少なくとも同じエッジ、立ち上がりまたは立ち下がり) で状態変化があったときに割り込みを行う機能があり、その方法を使用してタイマーをサンプリングし、期間ごとにティックを減算して取得することを好む場合があります。などで 1 秒あたりのサイクル数 (頻度) を取得します。

タイマーを使用するのは難しい場合があります。私は常にタイマーを使用して LED を点滅させることから始めます。最初は 1 秒に 1 回球場に入り、次に 5 秒または 10 秒または 30 秒に 1 回、時計の秒針と比較します。または、あなたが正確であり、この方法またはその方法から数十パーセント離れていないことを確認するためのその他の参照。これにより、タイマーとその除数の理解が確立されます。そこから、それを使用して入力を測定する作業を開始できます。gpio が正しくプログラムされていることを確認するために (LED の演習で既にその一部をカバーしています)、入力ピンをサンプリングし、入力ピンの状態で LED の状態を変更します。その後、LED を見て点滅や鈍い光を確認することがよくあります。 gpio ピンをサンプリングできることがわかります。次に、すべてをまとめて、入力の状態が変化したときにタイマーをサンプリングし、最初にポーリングしてから、必要に応じて割り込みなどを行います。

于 2011-02-21T08:00:20.800 に答える