STM32:printfを使えるようにする。
1.本日の内容
(1) STM32マイコン(nucleo f401RE)で、デバック用に、printfを使えるようにする。
(2) printfで文字、数値を表示する。
・目次
2.内容
(1) やる内容の詳細
・STM32マイコン(nucleo f401RE)を使用して、printfを使用できるようにする。
・文字(test)を1秒に1回コンソールに表示する。
・数値(1から+1ずつ増えていく)をコンソールに表示する。
(2) 使用部品
個数 | 部品名 | 型番 |
---|---|---|
1 | USBケーブル | USBミニBタイプ |
1 | mbed(マイコンボード) | nucleo f401RE |
(4) AtricTrueStdioでプログラム作成
(a) プログラムの書き込み
・トンカチマークをクリックして、ビルドする。
・エラーが出ないことを確認する。
・下記プログラムをそれぞれの箇所に、記載する。
・トンカチマークをクリックして、ビルドする。
・エラーが出ないことを確認する。
・下記プログラムをそれぞれの箇所に、記載する。
/* USER CODE BEGIN Includes */
//printfを使用するための、ヘッダをインクルード #include <stdio.h> /* USER CODE END Includes */
/* USER CODE BEGIN 0 */ int __io_putchar(int c) { if( c == '\n' ) { int b = '\r'; HAL_UART_Transmit(&huart2,(uint8_t*)&b, 1, 1); } HAL_UART_Transmit(&huart2,(uint8_t*)&c, 1, 1); return 0; } /* USER CODE END 0 */
/* USER CODE BEGIN 2 */ //標準出力stdoutにNULLを指定 setbuf(stdout,NULL);
//上記内容までが、printfを使用するために必要。
//xに10を格納する。 int x; x = 10; //testをprintfで出力する。 printf("test\n"); //x = 10をprintfで出力する。 printf("x=%d\n",x); /* USER CODE END 2 */
(5) プログラムの確認
Teratermの確認方法
デバッカで確認する場合
3.関連記事
組み込みC言語:
・STM32マイコン_2(UART通信:TeraTermにHellow表示) - Project_OKI’s diary
・STM32マイコン_3(UART通信:複数文字送信) - Project_OKI’s diary
・STM32マイコン_4(NVICの設定内容) - Project_OKI’s diary
・STM32マイコン_5(スイッチ入力とLED点灯、消灯) - Project_OKI’s diary
その他:
・CubeIDEの使い方(起動~デバック実行) - Project_OKI’s diary
・SPI通信とは - Project_OKI’s diary
C言語:
・組み込みの為のC言語基礎知識1(printf) - Project_OKI’s diary
・C言語基礎知識2(for分で処理を繰り返す) - Project_OKI’s diary
・C言語基礎知識3(配列) - Project_OKI’s diary
データシート:
参考:
・C++日本語リファレンス(uint8_t)
・STM32でUARTをやってみる1
・STM32CubeIDEを使ってみよう How To STM32CubeIDE 日本語版 (5) UARTを使ってみよう
・マイクロマウス研修(kora編)[23] STM32マイコンでシリアル通信
・C言語ゼミ
・C++日本語リファレンス(uint8_t)
・STM32でUARTをやってみる1
・STM32CubeIDEを使ってみよう How To STM32CubeIDE 日本語版 (5) UARTを使ってみよう
・マイクロマウス研修(kora編)[23] STM32マイコンでシリアル通信
・C言語ゼミ