一、前言
本文主要使用CUBEMX来生成软件,FreeRTOS也是在软件中生成
1、需要用到的软件
STM32MXCUBE
KEIL5
串口调试助手
二、实现过程
1、创建项目
通过cubemx创建项目
2、配置串口
3、配置FreeRTOS
配置很简单,创建一个串口打印的任务即可
4、输出代码配置
5、修改代码
从生成的代码中打开项目
1、重定向fputc
注意引用标准库 #include “stdio.h”
/* USER CODE BEGIN 1 */
//函数重定向,同时需要包含头文件 #include "stdio.h"
int fputc (int ch,FILE* f){
uint8_t temp[1]={ch};
{
HAL_UART_Transmit(&huart1,temp,1,0xff);
}
return HAL_OK;}
/* USER CODE END 1 */
2、配置FreesRTOS任务
void Uart_Task(void const * argument)
{
/* USER CODE BEGIN Uart_Task */
/* Infinite loop */
for(;;)
{
static int send_num =1;
printf("uart is running,num = %d \r\n",send_num);
osDelay(1000);
send_num++;
if(send_num>65535)
send_num = 1;
osDelay(1);
}
/* USER CODE END Uart_Task */
}
3、配置编译器
使用标准库的时候,需要对编译器声明
到此,程序处理完成,烧录后,使用串口助手可以打印信息