概述
本章STM32CUBEMX配置STM32F103,并且在GD32F303中進行開發(fā),同時通過GD32303C_START開發(fā)板內(nèi)進行驗證。
樣品申請
https://www.wjx.top/vm/mB2IKus.aspx
硬件準(zhǔn)備
這里準(zhǔn)備了GD32303C_START開發(fā)板進行驗證。
printf()函數(shù)
printf()函數(shù)是式樣化輸出函數(shù), 一般用于向準(zhǔn)則輸出設(shè)備按規(guī)定式樣輸出消息。正在編寫步驟時經(jīng)常會用到此函數(shù)。printf()函數(shù)的挪用式樣為: printf(“<式樣化字符串>”,<參數(shù)表>); 其中式樣化字符串包括兩部分內(nèi)容: 一部分是正常字符, 這些字符將按原樣輸出;另一部分是式樣化規(guī)定字符, 以"%“開端, 后跟一個或幾個規(guī)定字符, 用來確定輸出內(nèi)容式樣。 參量表是需求輸出的一系列參數(shù), 其個數(shù)務(wù)必與式樣化字符串所闡明的輸出參數(shù)個數(shù)一樣多, 各參數(shù)之間用英文逗號”,"分開, 且順序逐一對應(yīng), 不然將會出現(xiàn)意想不到的錯誤。 注意:函數(shù)printf從右到左壓棧,然后將先讀取放到棧底,最后讀取的放在棧頂,處理時候是從棧頂開始的,所以我們看見的結(jié)果是,從右邊開始處理的。
STM32CUBEMX配置
keil配置
microlib 進行了高度優(yōu)化以使代碼變得很小。 它的功能比缺省 C 庫少,并且根本不具備某些 ISO C 特性。 某些庫函數(shù)的運行速度也比較慢,如果要使用printf(),必須開啟。
代碼
在main.c中,添加頭文件,若不添加會出現(xiàn) identifier "FILE" is undefined報錯。
/* USER CODE BEGIN Includes */
#include "stdio.h"
/* USER CODE END Includes */
函數(shù)聲明和串口重定向:
/* USER CODE BEGIN PFP */
void uart1_data(void); //接收函數(shù)
#ifdef __GNUC__ //串口重定向
#define PUTCHAR_PROTOTYPE int __io_putchar(int ch)
#else
#define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
#endif
PUTCHAR_PROTOTYPE
{
HAL_UART_Transmit(&huart1 , (uint8_t *)&ch, 1, 0xFFFF);
return ch;
}
/* USER CODE END PFP */
printf()打印。
/* USER CODE BEGIN WHILE */
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
printf("串口打印例程\\r\\n");
HAL_Delay(1000);
}
/* USER CODE END 3 */
結(jié)果演示
審核編輯 黃昊宇
-
STM32
+關(guān)注
關(guān)注
2262文章
10846瀏覽量
353650 -
Printf
+關(guān)注
關(guān)注
0文章
81瀏覽量
13587
發(fā)布評論請先 登錄
相關(guān)推薦
評論