|
求解:ucos下,关于TFT6758显示和蜂鸣器任务
[复制链接]
在ucos操作系统下,利用ZLGGUI和TFT6758在smartarm2200上做个实验,总共建立了两个任务:汉字显示和蜂鸣器响。main函数如下:
int main (void)
{ GUI_Initialize(); // 初始化液晶
GUI_SetColor(WHITE, NAVY); // 设置液晶背景和显示字颜色
OSInit ();
OSTaskCreate (Task0,(void *)0, &TaskStk0[TaskStkLengh - 1], 2);
OSStart ();
return 0;
}
void Task0(void *pdata)
{
pdata = pdata;
TargetInit ();
// PINSEL0 = 0x00000000; // 设置P0口管脚连接GPIO
// IO0DIR = BEEP; // 设置蜂鸣器控制口为输出
// IO0SET = BEEP;
// IO2DIR = LED_IOCON; // 设置LED1--LED4的控制口为输出
// LED_OFF();
// 建立任务1(用于蜂鸣器控制)
OSTaskCreate (Task1,(void *)0, &TaskStk1[TaskStkLengh - 1], 3);
while (1)
{
GUI_ClearSCR();
HzDisp2(); //显示汉字“欢迎光临”
// DelayNS(50);
// IO0CLR = BEEP; // 控制蜂鸣器响
OSTimeDly(OS_TICKS_PER_SEC);
// IO0SET = BEEP;
}
}
void Task1(void *pdata)
{
pdata = pdata;
while (1)
{
OSTimeDly(OS_TICKS_PER_SEC*3); // 延时3S
GUI_ClearSCR();
HzDisp();//显示汉字“请稍等”
// DelayNS(50);
/* IO0CLR = BEEP; // 控制蜂鸣器响
OSTimeDly(OS_TICKS_PER_SEC);
IO0SET = BEEP; */
OSTimeDly(OS_TICKS_PER_SEC); // 延时1S
}
}
上面的函数能够正常显示汉字。
现在我把task1中的显示汉字功能关闭,进而改用蜂鸣器任务时。液晶上开始显示三次“欢迎光临”后,蜂鸣器响,再往后液晶上就没有显示了,而蜂鸣器任务能够正常运行。小弟找了半天也发现不了问题,哪位大侠帮忙解释一下呢?谢谢
|
|