通过对STM32F1 EMWIN开发手册V1.0的例子,想在不添加UCOS的基础上移植触摸屏(还没摸到ucos移植的门),在复制了GUI_X_Touch_Analog.c、GUIDRV_Template.c、LCDConf_FlexColor_Template.c函数,触摸touch部分也是原子哥的源码,但是程序烧写后,鼠标能够随触摸移动,而点击按钮LED灯不能点亮,
下面是Button例子中的任务函数
[mw_shl_code=c,true]void emwin_maintask(void *pdata)
{
GUI_CURSOR_Show();
while(1)
{
ButtonUse_Demo();
}
}
//TOUCH任务
void touch_task(void *pdata)
{
while(1)
{
GUI_TOUCH_Exec();
OSTimeDlyHMSM(0,0,0,5);//延时5ms
}
}
//LED0任务
void led0_task(void *pdata)
{
while(1)
{
LED0 = !LED0;
OSTimeDlyHMSM(0,0,0,500);//延时500ms
}
}
[/mw_shl_code]
因为我没有用UCOS,所以不能使用任务代码,我的主函数中的代码如下
[mw_shl_code=c,true] LCD_Initx();
TP_Init();
TIM3_Int_Init(999,71); //1KHZ 延时1ms
TIM6_Int_Init(999,719); //10ms中断
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_CRC, ENABLE);
GUI_Init();
GUI_CURSOR_Show();
CreateGUI(); //显示框架函数
while(1)
{
GUI_Delay(100);
} [/mw_shl_code]
[mw_shl_code=c,true][/mw_shl_code]
[mw_shl_code=c,true]
[mw_shl_code=c,true][/mw_shl_code]
[mw_shl_code=c,true]由于TIM6_IRQHander中有GUI_TOUCH_Exec(),所以10ms中断就调用一次GUI_TOUCH_Exec(); 和TOUCH任务的作用应该一样[/mw_shl_code]
[mw_shl_code=c,true]不知道是什么原因,求各位大侠帮帮忙[/mw_shl_code]
[/mw_shl_code]
|