单片机打印占用率 写在前面 CubeMx FreeRTOS配置 CubeMx 定时器配置 修改定时器回调函数 修改任务函数app_log.c 串口打印结果 写在前面 使用本章教程前需要在FreeRTOS任务的基础上进行 需要使用串口打印函数,可自己提前准备 可在前章教程进行配置: 110、STM32CubeMX串口DMA发送重定义 stm32历史文章:https://blog.csdn.net/JiaLu0216/article/details/115471382 CubeMx FreeRTOS配置 打开CubeMx工程后选择Middleware->FREERTOS选项 在Configuration对话框中选择Config parameters页,配置其中GENERATE_RUN_TIME_STATS : Enable,USE_TRACE_FACILITY : Enable,USE_STATS_FORMATTING_FUNCTIONS : Enable CubeMx 定时器配置 需要配置一个50us定时器进行任务计数 在Timers列表中选择所使用定时器,这里采用TIM6 在Configuration对话框中选择Parameter Settings页,配置其中Prescale预分频和Counter Period计数器周期,使得定时器周期为50us 在Configuration对话框中选择NVIC Settings页进行中断配置,使能TIM6中断 修改定时器回调函数 默认定时器更新中断在main.c文件夹中 添加TIM6的中断代码 extern uint32_t RUN_Time; //占用率计数器 void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) { /* USER CODE BEGIN Callback 0 */ /* USER CODE END Callback 0 */ if (htim->Instance == TIM17) { HAL_IncTick(); } /* USER CODE BEGIN Callback 1 */ if(h