淘特app推广代理,企业站seo点击软件,百度推广管理平台,网站建设公开目录
1、Cube配置
①配置SYS ②配置TIM3 ③配置USART2 ④配置FreeRTOS
⑤配置中断优先级
2、代码添加改动
①在main函数合适位置开启TIM3中断
②修改HAL_TIM_PeriodElapsedCallback函数 ③完善两个相关函数
④vTaskList与vTaskGetRunTimeStats的使用 vTaskList#xff…目录
1、Cube配置
①配置SYS ②配置TIM3 ③配置USART2 ④配置FreeRTOS
⑤配置中断优先级
2、代码添加改动
①在main函数合适位置开启TIM3中断
②修改HAL_TIM_PeriodElapsedCallback函数 ③完善两个相关函数
④vTaskList与vTaskGetRunTimeStats的使用 vTaskList获取系统中所有任务的任务名、任务状态、优先级、最小剩余堆栈、创建序号相关信息
vTaskGetRunTimeStats获取每个任务的运行时间并统计每个任务占用CPU的时间
1、Cube配置
①配置SYS
sysTick被FreeRTOS强行占用设置另外的时钟给HAL延时使用 ②配置TIM3
配置TIM3频率为20KHz用来作为vTaskGetRunTimeStats的计数时钟不要忘记使能TIM3中断 ③配置USART2
用于发送获取到的任务信息 ④配置FreeRTOS
CMSIS_V1:支持M0/M0/M3/M4/M7
CMSIS_V2:支持所有Cortex-M系列A5/A7/A9 设置堆栈大小为10K并启用人物计时相关宏 创建任务 ⑤配置中断优先级 2、代码添加改动
①在main函数合适位置开启TIM3中断 /* USER CODE BEGIN 2 */HAL_UART_Transmit(huart2,(uint8_t*)HAL_TIM_Base_Start_IT \r\n, 20, HAL_MAX_DELAY);HAL_TIM_Base_Start_IT(htim3);/* USER CODE END 2 */
②修改HAL_TIM_PeriodElapsedCallback函数 if (htim-Instance TIM3) {CPU_RunTime;} ③完善两个相关函数
__weak void configureTimerForRunTimeStats(void)
{CPU_RunTime0;
}__weak unsigned long getRunTimeCounterValue(void)
{
return CPU_RunTime;
}
④vTaskList与vTaskGetRunTimeStats的使用
void Print_CPURunInfo_Task(void const * argument)
{/* USER CODE BEGIN Print_CPURunInfo_Task */char CPU_RunInfo[200];char buffer0[100] Name State Priority LeftStack Number\r\n;char buffer1[100] Name RunCount UtilizeRatio \r\n;/* Infinite loop */for(;;){vTaskList(CPU_RunInfo);HAL_UART_Transmit(huart2,(uint8_t*)buffer0, strlen(buffer0), HAL_MAX_DELAY);HAL_UART_Transmit(huart2,(uint8_t*)CPU_RunInfo, strlen(CPU_RunInfo), HAL_MAX_DELAY);HAL_UART_Transmit(huart2,(uint8_t*)\r\n, 2, HAL_MAX_DELAY);vTaskGetRunTimeStats(CPU_RunInfo);HAL_UART_Transmit(huart2,(uint8_t*)buffer1, strlen(buffer1), HAL_MAX_DELAY);HAL_UART_Transmit(huart2,(uint8_t*)CPU_RunInfo, strlen(CPU_RunInfo), HAL_MAX_DELAY);HAL_UART_Transmit(huart2,(uint8_t*)\r\n, 2, HAL_MAX_DELAY);HAL_UART_Transmit(huart2,(uint8_t*)------------------\r\n, 25, HAL_MAX_DELAY);osDelay(1000);}/* USER CODE END Print_CPURunInfo_Task */
}