硬汉嵌入式论坛

 找回密码
 立即注册
查看: 641|回复: 2
收起左侧

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

[复制链接]

55

主题

131

回帖

296

积分

高级会员

积分
296
发表于 2023-6-15 10:04:17 | 显示全部楼层 |阅读模式
本帖最后由 lindahnu 于 2023-6-15 10:19 编辑

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

[C] 纯文本查看 复制代码
void LED_Thread3(void const * argument)
{
  /* USER CODE BEGIN LED_Thread2 */
  uint8_t pcWriteBuffer[500];
  (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 */
}



回复

使用道具 举报

55

主题

131

回帖

296

积分

高级会员

积分
296
 楼主| 发表于 2023-6-15 10:20:02 | 显示全部楼层
已经找到原因了,创建任务的时候分配空间少了
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106678
QQ
发表于 2023-6-15 11:43:09 | 显示全部楼层
lindahnu 发表于 2023-6-15 10:20
已经找到原因了,创建任务的时候分配空间少了

对,这里开了个局部变量,比较大。
uint8_t pcWriteBuffer[500];
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-4-29 09:19 , Processed in 0.276753 second(s), 26 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表