lindahnu 发表于 2023-6-15 10:04:17

调用获取任务信息函数vTaskList和vTaskGetRunTimeStats出错

本帖最后由 lindahnu 于 2023-6-15 10:19 编辑

基于STM32G0板子,创建三个任务,第一个任务和第二个任务都是翻转IO口,第三个任务实现任务信息获取,调用就出错,在线调试停止进HardFault_Handler,屏蔽函数就能正常运行,这是什么原因呢?

void LED_Thread3(void const * argument)
{
/* USER CODE BEGIN LED_Thread2 */
uint8_t pcWriteBuffer;
(void) argument;
/* Infinite loop */
for (;;)
{
    if(HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_3))
                {
                         vTaskList((char *)&pcWriteBuffer);
                        
                         vTaskGetRunTimeStats((char *)&pcWriteBuffer);
                        
                         HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_6);
                }
                vTaskDelay(20);               
}
/* USER CODE END LED_Thread2 */
}


lindahnu 发表于 2023-6-15 10:20:02

已经找到原因了,创建任务的时候分配空间少了

eric2013 发表于 2023-6-15 11:43:09

lindahnu 发表于 2023-6-15 10:20
已经找到原因了,创建任务的时候分配空间少了

对,这里开了个局部变量,比较大。
uint8_t pcWriteBuffer;
页: [1]
查看完整版本: 调用获取任务信息函数vTaskList和vTaskGetRunTimeStats出错