Project_OKI’s diary

エンジニアの勉強ブログ

STM32マイコン_12(printfの導入)

 

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

 

(3) STM32CubeMXの設定、プログラムを出力

  STM32CubeMxの設定は下記記事と同じ。

project-oki.hatenablog.com

 

(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) プログラムの確認
 (a)Teraterm又は、下記デバッカのターミナルで確認できる。 
  Teratermの確認方法
 デバッカで確認する場合

STM32デバッカ

 

 

3.関連記事

組み込みC言語: