0

ARM LPC2378 マイクロコントローラからのシリアル データの読み取りに問題があります。UART を使用する必要がありますか、それとも任意の GPIO ポートを使用できますか?? 誰でもそれのためのCコードを持っていますか??

4

1 に答える 1

2

GPIO ポートを使用することは技術的に可能ですが、ソフトウェアはビット タイミング、フレーミング、エラー チェックなどを担当します。コードがすべてのビットを実行する必要があるため、 「ビットバンギング」と呼ばれることが多く、CPU を集中的に使用します。より低いデータ レートの場合は、タイマー割り込みから実行できます。

UART を使用する方がはるかに簡単です。UART は、ビット タイミング、フレーミング、エラー チェックなどの難しい作業を行います。

LPC2378 データシートによると、マイクロコントローラーには 4 つの UART があります。したがって、UART を使用するのが最善の方法です。シリアルデータはどのピンに入っていますか? シリアル データは、4 つの UART のいずれかに接続できるピンに接続する必要があります。UART を使用できるように設定するには、マイクロコントローラにいくつかのレジスタを設定する必要があります。

  • UART とその設定を有効にします (多くの設定があります)。
  • どのピンが UART の入力であるかを設定します (たぶん)
  • その他のピン設定

最初に、UART のポーリングを試すことができます。「使用可能なバイトがある」と表示されるまで「RX バイトが使用可能」フラグを読み取り、次に受信バイト レジスタからバイトを読み取ります。また、RX エラー フラグ レジスタを読み取って、エラーがあるかどうかを確認します。

それが機能した後、RX 割り込みを機能させる作業を行うことができるため、着信データを処理するために受信割り込みが生成されます。

この種のことには、ユーザーマニュアルデータシートを読む時間が必要です。楽しみ!

于 2009-11-30T00:52:09.453 に答える