問題タブ [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.
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 を使用しています。
前もって感謝します