問題タブ [stm32f1]
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.
serial-port - HAL_UART_Receive_IT() および HAL_UART_RxCpltCallback() を使用すると、バイトが失われる可能性がありますか?
私はいくつかの(主にCubeMXで生成された)コードを持っています:
これは、USART3 で受信したすべてを正常にエコーします。(このコードは、シリアル ポートについて学習するための使い捨ての例です。)
HAL_UART_RxCpltCallback()
呼び出されHAL_UART_Receive_IT()
てから次の受信を設定するまでの時間が気になります。
この間隔でデータが失われないことを保証する STM32F103 の機能はありますか? USART の受信バッファが 2 バイトを超えているという証拠は見つかりませんでした。
優先度の高い USB デバイスの動作によって の呼び出しが遅延し、HAL_UART_RxCpltCallback()
1 つまたは複数の文字が失われる可能性があることを特に懸念しています。
c - STM32F103C8 ('Blue Pill') で UART 経由でデータを送信する際の問題
私は組み込みシステムの初心者です。STM32F103C8 (つまり、Blue Pillボード) の UART2 にデータを書き込もうとしていますが、STM32F103C8 ボードのUART2に接続されているFTDIアダプターを使用して、コンピューターのポートの 1 つでデータを表示したいと考えています。しかし、私のコンソールでは、送信したいキャラクターの代わりにランダムな四角いブロックを受け取ります。
これがKeil IDEで書かれた私のコードです。
以下に、デバッグ中のスクリーンショットを添付しました。
送信したい文字の代わりに、文字の代わりに不要な正方形のブロックが表示されます。この画像では、UART レジスタとその値も確認できます。ST-LINK2を使用してファームウェアをアップロードしています。
FTDI とTera Termを扱っているときに、情報が不足していたり、間違いを犯したりしていませんか? これは私の Tera Term 設定です:
- ボーレート = 9600
- データ = 8 ビット
- パリティ = なし
- ストップ ビット = 1
- 制御フロー = なし
どうすればこれを修正できますか?