UART通信(受信)
ArduinoなどからのデータをUARTを使用して受け取る
[プロジェクト名].ioc
-Pinout & Configuration
-Connectivity
-USART1
-Mode
をAsynchronous
、Configuration
-Parameter Settings
-Basic Parameters
-Baud Rate
を38400
に設定。今回は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
の画面にはそのスイッチの値が表示されるだろう。