| 
 
新手上路 
 
	积分25金钱25 注册时间2016-11-12在线时间3 小时 | 
 
1金钱 
| 我对照原子的PDF教程移植EMwin,移植到触摸屏的时候没有认可反应 程序:
 
 
 void Mytouch_MainTask(void)
 {
 int i;
 GUI_PID_STATE TouchState;
 int xPhys;
 int yPhys;
 GUI_Init();
 WM_SetCreateFlags(WM_CF_MEMDEV);
 GUI_SetFont(&GUI_Font20_ASCII);
 GUI_CURSOR_Show();
 GUI_CURSOR_Select(&GUI_CursorCrossL);
 GUI_SetBkColor(GUI_WHITE);
 GUI_SetColor(GUI_BLACK);
 GUI_Clear();
 GUI_DispString("Measurement of\nA/D converter values");
 while (1)
 {
 GUI_TOUCH_GetState(&TouchState); // Get the touch position in pixel
 //                        printf("TouchState.Layer=%d    TouchState.Pressed=%d  ",TouchState.Layer,TouchState.Pressed,TouchState.x);
 //                                printf("TouchState.x=%d  ");
 
 xPhys = GUI_TOUCH_GetxPhys(); // Get the A/D mesurement result in x
 yPhys = GUI_TOUCH_GetyPhys(); // Get the A/D mesurement result in y
 //                                printf("%d  %d  ",xPhys,yPhys);
 GUI_SetColor(GUI_BLUE);
 GUI_DispStringAt("Analog input:\n", 0, 40);
 GUI_GotoY(GUI_GetDispPosY() + 2);
 GUI_DispString("x:");
 GUI_DispDec(xPhys, 4);
 GUI_DispString(", y:");
 GUI_DispDec(yPhys, 4);
 GUI_SetColor(GUI_RED);
 GUI_GotoY(GUI_GetDispPosY() + 4);
 GUI_DispString("\nPosition:\n");
 GUI_GotoY(GUI_GetDispPosY() + 2);
 GUI_DispString("x:");
 GUI_DispDec(TouchState.x,4);
 GUI_DispString(", y:");
 GUI_DispDec(TouchState.y,4);
 delay_ms(50);
 };
 }
 
 就这个 例子
 一直显示 0
 底层的 int  GUI_TOUCH_X_MeasureX(void)    和 int  GUI_TOUCH_X_MeasureY(void)   也没有调用
 int  GUI_TOUCH_X_MeasureX(void)
 {
 TOUCH_TYPE_DEF touch;
 int i;
 i=touch_read(CMD_RDX);
 printf("CMD_RDX=%d   ",i);
 return  touch_read(CMD_RDX);
 }
 
 
 int  GUI_TOUCH_X_MeasureY(void)
 {
 int i;
 i=touch_read(CMD_RDX);
 printf("CMD_RDY=%d  ",i);
 return  touch_read(CMD_RDY);
 }
 
 
 后面 我直接跳过这个 步骤  直接 在定时器里每10ms 调用  这个 函数         GUI_TOUCH_Exec();
 
 然后 int  GUI_TOUCH_X_MeasureX(void)    和 int  GUI_TOUCH_X_MeasureY(void)  个调用了 但是打印出来的不是 0  就是  4095
 我裸机调用touch_read(CMD_RDX);   都是可以的。
 不知道什么问题 ,头都炸了  ,新人求教啊。
 
 
 | 
 |