0

UART 信号を送信しようとしていますが、FSK エンコードされています。ボーレート 290 で UART が動作しています。P0.7TX で送信しています。コンピューターに接続すると、期待どおりの結果が得られます。ただし、この UART の FSK 信号を生成してオーディオ経由で送信し、そこでデコードしたいと考えています。今のところ、データの送信のみに集中しています。

0 と 1 の周波数を作成するために、PCA に基づいて 2 つの関数を作成しました。だいたい1.2kHzと2.4kHzくらいです。また、「loopOne」と「loopZero」は割り込み内で実行する必要があることもわかりました。そうしないと、MCU が loopOne と loopZero を順番に呼び出して、波形を歪ませます。

したがって、私の問題は、割り込みラインを介してUARTの出力を取得し、割り込みを呼び出してから、TXが低いか高いかに応じて割り込みに関数を呼び出す方法がわからないことです。

2つの外部割り込みでそれを行うことができます.1つは出力が低いとき用で、もう1つは出力が高いとき用ですが、別の目的で割り込みの1つが必要なので、同じ割り込みまたは別の割り込みを連結して使用する必要があります。どの関数を呼び出すかを区別する必要があります。

私はCコードでSilicon Laboratories IDEを使用しています。MCU は SiLabs C8051F996 です。

4

0 に答える 0