我想在ucosii中完成密码锁的功能,现在开辟了两个任务,任务1是main,只显示一个编号,任务2是password,由于这两个是互斥的,所以我在两个函数中都加入了挂起自己,然后恢复另一个任务的函数。
上电后第一次运行,按下键盘上的key1键,的确能从main跳到password函数中,然后在输入密码函数中按下key2,能返回到main中,可是返回到main之后,再按key1,程序就跑飞了,请问为什么第一次能有用,第二次再来一遍的时候就不行了呀?
[mw_shl_code=c,true]void main_task(void *pdata)
{
while(1)
{
display_GB2312_string(4,40,0,"NO.007");
GPIO_WriteBit(GPIOC, GPIO_Pin_1,(BitAction)(1-(GPIO_ReadOutputDataBit(GPIOC, GPIO_Pin_1))));
if(keyval == 'a')
{
OSTaskResume(PASSWORD_TASK_PRIO);
OSTaskSuspend(MAIN_TASK_PRIO);
}
OSTimeDlyHMSM(0,0,0,10);
}
}[/mw_shl_code]
|