1.创建基于STM32F03C8T6工程
1.1配置时钟
选择外部高速时钟源HSE
1.2配置系统时钟树使其达到最大时钟72MHz(最大系统时钟)
2.配置串口1
3.生成代码
具体工程配置可参考上几篇博客。
4.串口重定向
勾选微库
添加重定向代码
/* USER CODE BEGIN 0 */
#include < stdio.h >
/* USER CODE END 0 */
/* USER CODE BEGIN 1 */
/*********************************************************
*重定义 fputc 函数
*********************************************************/
int fputc(int ch,FILE *f)
{
HAL_UART_Transmit (&huart1 ,(uint8_t *)&ch,1,HAL_MAX_DELAY );
return ch;
}
/* USER CODE END 1 */
-测试代码
/* Private includes ----------------------------------------------------------*/
/* USER CODE BEGIN Includes */
#include < stdio.h >
/* USER CODE END Includes */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
printf('Hello World!rn');
printf('初出茅庐的小李测试rn');
HAL_Delay(1000);
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
}
/* USER CODE END 3 */
4.测试代码打印效果
总结:串口打印信息在开发项目过程中非常重要,这里使用CubeMx配置生成代码简直太高效了。