关于AVR上移植uC/OS-2的一个简单问题
用Proteus进行仿真,并且用AVR STUDIO进行了调试。可是总是有错误,最终发现问题出在:以下程序,Task5执行完之后直接返回主函数,而非函数调用的地方,我还是头一次遇
到这种问题,请高手帮忙,多谢。附件里有程序和PROTEUS仿真。
void Task4(void *pdata)
{
pdata=pdata;
while(1)
{
show(4,2);
OSTimeDly(100);
}
}
void Task5(void *pdata)
{
show(5,3);
}
int main(void)
{
OSInit();
OSTaskCreate(Task1,0,&Task1Stk,1);
OSTaskCreate(Task2,0,&Task2Stk,2);
OSTaskCreate(Task3,0,&Task3Stk,3);
OSTaskCreate(Task4,0,&Task4Stk,5);
OSTaskCreate(Task5,0,&Task5Stk,4);
OSStart();
while(1)
{
show(9,0);
}
} 回复【楼主位】hy5239
-----------------------------------------------------------------------
用Uedit打开os2yizhi.prj工程就可以看到程序。用main.hex可以进行仿真。
点击此处下载 ourdev_554730.rar(文件大小:470K) (原文件名:os2_uedit_avrstudio.rar) void Task5(void *pdata)
{
show(5,3);
}
教你一个基本的常识
每个任务都应该是一个死循环
千万别让它返回了
正确做法
可以加点延时,也可以不加
void Task5(void *pdata)
{
while(1)
{
show(5,3);
}
} 不知hy5239朋友的这个问题解决了没有?如何解决的?
说出来,好让大家学习一下。
先谢了。
页:
[1]