変数などを表示するために

printfを使って変数の値などを見れるようにする

マイコンとパソコンとの間でUARTを用いて通信を行う。パソコン側ではTeraTermを用いてシリアルポートを監視する。

CubeIDEの設定

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

/* USER CODE BEGIN Includes */
#include <stdio.h>
/* USER CODE END Includes */

/* USER CODE BEGIN 1 */
setbuf(stdout,NULL);
/* USER CODE END 1 */

/* USER CODE BEGIN 3 */
    printf("Hello World\r\n");
    HAL_Delay(250);
}
/* USER CODE END 3 */

/* USER CODE BEGIN 4 */
int _write(int file,char *ptr,int len){
    HAL_UART_Transmit(&huart2, (uint8_t *)ptr, len, 10);
    return len;
}
/* USER CODE END 4 */

TeraTermの設定

TeraTermを開いてファイル-新しい接続-シリアル-COM◯: STMicroelectronics STLink Virtual COM Port (COM◯)-OKでマイコンと接続する。設定-シリアルポート-スピードCubeIDE側で設定したBaud Rateを入力。ここでは38400と設定。現在の接続を再設定で設定を完了させる。

参考