新手上路
- 积分
- 32
- 金钱
- 32
- 注册时间
- 2014-12-13
- 在线时间
- 6 小时
|
1金钱
请教大侠们关于移植STemWin后使用触摸屏的问题,也不是不能用,触摸屏应该是正常工作的,使用emWin的Touch_Sample能够正常获取触点位置,如下图1:
但是把Demon下载到开发板触摸屏没反应,比如图2这个,在VC++中仿真可同通过鼠标点击窗口最大化最小化等等,实际使用触摸屏怎么按都没反应,光标也不动。
程序如下:
int main(void)
{
GUI_RECT Rect;
WM_HWIN hClient;
USART2_config();
printf("TFT 实验...\r\n");
STM32_SysTick_init(1000); //系统定时器初始化,1ms
TP_Init(); //触摸屏初始化
/*CRC 和emWin 没有关系,只是他们为了库的保护而做的,
这样STemWin 的库只能用在ST 的芯片上面,别的芯片是无法使用的。 */
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_CRC, ENABLE);
GUI_Init(); //GUI初始化
GUI_SetBkColor(GUI_BLUE); //设置屏幕背景色
GUI_Clear();
/* Set callback for background window */
WM_SetCallback(WM_HBKWIN, _cbBkWindow);
//创建框架
_hFrame=_CreateFrame();
GUI_Delay(1000);
//创建菜单
_hMenu = _CreateMenu(_hFrame);
GUI_Delay(1000);
hClient=WM_GetClientWindow(_hFrame); //返回客户区窗口句柄
WM_GetClientRectEx(hClient, &Rect); //返回客户区窗口尺寸
//创建多行文本框小工具
_hMEdit = MULTIEDIT_CreateEx(0, 0, 0, Rect.y1, hClient,\
WM_CF_SHOW| WM_CF_ANCHOR_RIGHT | WM_CF_ANCHOR_LEFT | WM_CF_ANCHOR_TOP | WM_CF_ANCHOR_BOTTOM,\
MULTIEDIT_CF_INSERT, 0, 0, "");
MULTIEDIT_AddText(_hMEdit,txt); //在当前光标位置键入更多文本
while(1)
{
GUI_Delay(10);
GUI_CURSOR_Show();
}
}
//以下是SysTick中断处理
extern __IO int32_t OS_TimeMS;
static u8 count=0;
void SysTick_Handler(void)
{
OS_TimeMS++;
if(count==10)
{
GUI_TOUCH_Exec(); //每过10ms触发调用触摸驱动
count=0;
}
else
count++;
}
//以下是GUIConf.h中的配置,TOUCH功能已经开启
#ifndef GUICONF_H
#define GUICONF_H
/*********************************************************************
*
* Multi layer/display support
*/
#define GUI_NUM_LAYERS 2 // Maximum number of available layers
/*********************************************************************
*
* Multi tasking support
*/
#ifdef OS_SUPPORT
#define GUI_OS (1) // Compile with multitasking support
#else
#define GUI_OS (0)
#endif
/*********************************************************************
*
* Configuration of touch support
*/
#ifndef GUI_SUPPORT_TOUCH
#define GUI_SUPPORT_TOUCH (1) // Support touchscreen
#endif
/*********************************************************************
*
* Default font
*/
#define GUI_DEFAULT_FONT &GUI_Font6x8
/*********************************************************************
*
* Configuration of available packages
*/
#define GUI_SUPPORT_MOUSE (1) /* Support a mouse */
#define GUI_WINSUPPORT (1) /* Use window manager */
#define GUI_SUPPORT_MEMDEV (1) /* Memory device package available */
#define GUI_SUPPORT_DEVICES (1) /* Enable use of device pointers */
|
-
图1.触屏校准Demo正常
-
图2.窗口按钮按下没反应
最佳答案
查看完整内容[请看2#楼]
问题已解决,看了STemWIN开发手册,把启动文件里的栈大小设置的大一点就好了,原来运行不了就是应为太卡了
|