UART通信(受信)

ArduinoなどからのデータをUARTを使用して受け取る

[プロジェクト名].ioc-Pinout & Configuration-Connectivity-USART1-ModeAsynchronousConfiguration-Parameter Settings-Basic Parameters-Baud Rate38400に設定。今回はUSART1を使用した。
保存しコードを作成。main.cに処理を追記。

/* USER CODE BEGIN 2 */
char getdata;
/* USER CODE END 2 */

/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
/* USER CODE END WHILE */

/* USER CODE BEGIN 3 */
    if(HAL_UART_Receive(&huart1, &getdata, 1, 10) == HAL_OK){
        printf("%x\r\n",getdata);
    }
}
/* USER CODE END 3 */

受け取ったデータをprintfする。たとえばArduino側でスイッチの値を送るとしたらTeraTermの画面にはそのスイッチの値が表示されるだろう。

参考