U盘 处理USBH_Process 在UCOS中死机

2019-07-20 15:08发布

小弟最近在用EMWIN做实验,建立一个对话框,有一个BUTTON,点击BUTTON后将数据存入U盘 。
思路是 开两个线程,一个是 对话框, 另一个是 USBH_Process。如下:


对话框线程
void emwindemo_task(void *p_arg)
{
    OS_ERR err;
    GUI_CURSOR_Show();
    GUI_Init();
    CreateCONSOLE();
   
    while(1)
    {
        GUI_Delay(10);
        GUI_Exec();
        OSTimeDlyHMSM(0,0,0,5,OS_OPT_TIME_PERIODIC,&err);//ÑÓʱ5ms
    }
}

USB监视线程
void led0_task(void *p_arg)
{
    OS_ERR err;
    while(1)
    {
        USBH_Process(&USB_OTG_Core, &USB_Host);
        OSTimeDlyHMSM(0,0,0,50,OS_OPT_TIME_PERIODIC,&err);//ÑÓʱ50ms
    }
}

现在问题是,当U盘插入 并识别的瞬间, 另一个线程就死机了。 整个系统就死了。



我用例程中的实验测试(USB HOST),测试U盘和电路都是没问题的。区别就是,例程没有用UCOS系统,而是直接死循环调用 USBH_Process。

请问是什么原因呢?



友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
orta
1楼-- · 2019-07-20 20:16
发现 USBH_Process 在线程中调用 无法进入 USH_User_App函数,不知怎么回事
正点原子
2楼-- · 2019-07-20 23:38
 精彩回答 2  元偷偷看……

一周热门 更多>