5:NUCLEO-F042K6のUARTを使う

5:NUCLEO-F042K6のUARTを使う

NUCLEO-F042K6とPC間をRS232Cで接続し通信を行います。
PCにはUSB-TTL変換アダプタを接続してCOMポートを確保します。

CubeMXで新規プロジェクトを作り、ポートの設定は以下の図のようにします。
PB3:output ボード上のLED
PA9,PA10 USART1  PCとの接続用
PA2,PA3 USART2 デバッグ用–実際には使わない
と3カ所を設定します。

 

UASRT1,2は両方ともAsynchronousにしておきます。

ConnectivityでUSART1,2の設定をします。

USART1はボーレートを9600,8bit,Prity None,Stop bit 1

また、割り込みも有効にしておきます。

USART2もUSART1と同じ設定です。

割り込みを有効にします。

この設定でToolchainをTrueStudioにしてソースを生成します。

UARTとGPIOの初期化が記述された雛形が生成されました。

この状態でコンパイルしてエラーが出ないことを確認しておきます。

エラーが出なければOKです。

ソースは以下のようにします。

 

プログラムがスタートするとRS232Cで受信を開始します。
CRを受信したらそれまで受信した文字の先頭にecho:をつけてRS232Cに出力します。

上はTeratermでキーボードから入力して動作確認したときのキャプチャ画像です。

CPUボードとPCとの配線は以下のようにしました。


TTLレベルのUSBシリアル変換ケーブルを使いました。シリアル変換ケーブルは5V用でしたが、3.3Vでも動作しました。
CPUボード側は5Vトレラントになっています。