問題タブ [stm8]

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 に答える
247 参照

uart - 2 バイト長を読み取るための UART の問題

2 つのデバイス (コンピュータと STM8S2 ボード) 間の UART1 通信に問題があります。

STM8に2バイト長のデータを書き込むソフトウェアをコンピュータに実装しました

• 識別子として機能する最初のバイト。

•2 バイト目は、VLS メモリに書き込みたいデータでした。

ただし、STM8 では、最初のバイトのみが読み取られ、2 回、たとえば、識別子 0xb7 とデータ 0x90 が送信されましたが、バイト 0xb7 のみが (0xb7, 0xb7) としてバッファーに格納されました。

現在、UART割り込みを介して毎回1バイトの長さを読み取るように実装していますが、データの場合、ファームウェアがバグを起こしやすくなる可能性があり、識別子バイトの同じ値を持つ可能性があります。

最善の解決策は、2 バイトのデータとして送信することだと思います。しかし、どうすればそれを実装できますか、または最初のバイトだけが繰り返し読み取られるのはなぜですか?

以下は、STM8 でデータを受信および書き込みするための関数です。

UART セットアップ:

STM8に送信されるデータのサンプル

ここに画像の説明を入力

Cosmic コンパイラで ST Visual Develop を使用しています。

前もって感謝します