硬汉嵌入式论坛

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

[TouchGFX] 添加读u盘数据功能,但插入u盘后程序卡死

[复制链接]

9

主题

29

回帖

56

积分

初级会员

积分
56
发表于 2021-12-2 08:55:51 | 显示全部楼层 |阅读模式
1.问题情况:插入u盘后程序卡死,屏幕时间不再更新无法触摸,呼吸灯停止闪烁
2.总堆栈配置:
#define configTOTAL_HEAP_SIZE                    ((size_t)35840)
任务堆栈分配:
osThreadDef(defaultTask, StartDefaultTask, osPriorityNormal, 0, 4096);
defaultTaskHandle = osThreadCreate(osThread(defaultTask), NULL);
osThreadDef(ledTask, LEDentry, osPriorityLow, 0, 128 );
LEDHandle = osThreadCreate(osThread(ledTask), NULL);
osThreadDef(_usbTask, usbTask, osPriorityAboveNormal, 0, 2048);
usbTaskHandle = osThreadCreate(osThread(_usbTask), NULL);

任务1是初始touchgfx ,任务2是呼吸灯 ,任务3是初始usb
void usbTask(void const *argument)
{
        MX_USB_HOST_Init(); //没有进行修改
        while (1)
        {
                osDelay(100);
        }       
}

3.只要不插u盘的话是一切正常的,插入后卡死必须重启才行,想请教前辈们可能是哪里出问题了
回复

使用道具 举报

9

主题

29

回帖

56

积分

初级会员

积分
56
 楼主| 发表于 2021-12-2 11:02:59 | 显示全部楼层
找了半天的问题,发现是在中断处卡死,修改中断函数后解决
参考硬汉哥帖子:http://www.armbbs.cn/forum.php?m ... 8785&fromuid=58
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107272
QQ
发表于 2021-12-2 12:19:42 | 显示全部楼层
wangzhan1999 发表于 2021-12-2 11:02
找了半天的问题,发现是在中断处卡死,修改中断函数后解决
参考硬汉哥帖子:http://www.armbbs.cn/forum.p ...

移植的时候,中断很容易忽视。
之前我还吐槽过一次这个问题。中断函数最好不要放在xxxx_it.c这个集成处理的文件里面,放在移植的port文件里面是最好的,移植的时候不容易忘记。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-24 07:15 , Processed in 0.155011 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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