OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3806|回复: 3

STemWin移植横屏出现问题(新人没钱)

[复制链接]

4

主题

16

帖子

0

精华

新手上路

积分
27
金钱
27
注册时间
2016-8-29
在线时间
12 小时
发表于 2016-11-5 11:32:56 | 显示全部楼层 |阅读模式
10金钱
[mw_shl_code=c,true]void LCD_X_Config(void) {
  // GUI_DEVICE * pDevice;
  // CONFIG_FLEXCOLOR Config = {0};
  // GUI_PORT_API PortAPI = {0};
  //
  // Set display driver and color conversion
  GUI_DEVICE_CreateAndLink(&GUIDRV_Template_API, GUICC_565, 0, 0);
  //
  // Display driver configuration, required for Lin-driver
  LCD_SetSizeEx (0, t_lcddev.width , t_lcddev.height );
  LCD_SetVSizeEx(0, t_lcddev.width +1, t_lcddev.height );

  if (t_lcddev.id == 0x9341)
  {
    if (t_lcddev.dir == 0) //竖屏
    {
      GUI_TOUCH_Calibrate(GUI_COORD_X, 0, 240, 155, 3903);
      GUI_TOUCH_Calibrate(GUI_COORD_Y, 0, 320, 188, 3935);
    } else //横屏
    {
      GUI_TOUCH_SetOrientation(GUI_SWAP_XY | GUI_MIRROR_Y);
      GUI_TOUCH_Calibrate(GUI_COORD_X, 0, 240  , 155, 3903);
      GUI_TOUCH_Calibrate(GUI_COORD_Y, 0, 320  , 188, 3935);
    }
  }

}[/mw_shl_code]

这里的触摸屏与显示屏的校准出现问题,且问题只在横屏中有。
竖屏显示是正常的。但是横屏却会出现y轴坐标最多识别到240处,再向右走就没反应了!
用的原子的触摸值检测代码:
[mw_shl_code=c,true]void Mytouch_MainTask(void)
{
    static GUI_PID_STATE TouchState;
    static int xPhys, yPhys;

    GUI_Init();
    GUI_SetFont(&GUI_Font20_ASCII);
    GUI_CURSOR_Show();
    GUI_CURSOR_Select(&GUI_CursorCrossL);
    GUI_SetColor(GUI_WHITE);
    GUI_SetBkColor(GUI_BLACK);
    GUI_Clear();
    GUI_DispString("Measurement of\nA|D converter values");
    while(1)
    {
        GUI_TOUCH_GetState(&TouchState);
        xPhys = GUI_TOUCH_GetxPhys();    //Get the A|D measurement result in x
        yPhys = GUI_TOUCH_GetyPhys();   //

        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);
    }
    return ;
}[/mw_shl_code]

@zuozhongkai  @正点原子

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

1

主题

10

帖子

0

精华

初级会员

Rank: 2

积分
68
金钱
68
注册时间
2015-9-22
在线时间
16 小时
发表于 2016-11-5 12:22:36 | 显示全部楼层
新人看不懂 啊  都是大神问题都这么深奥
回复

使用道具 举报

1

主题

561

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1183
金钱
1183
注册时间
2015-5-28
在线时间
149 小时
发表于 2016-11-7 12:36:08 | 显示全部楼层
首先,保证你的液晶和触摸驱动在没有gui的情况下是完全正确的~
回复

使用道具 举报

4

主题

16

帖子

0

精华

新手上路

积分
27
金钱
27
注册时间
2016-8-29
在线时间
12 小时
 楼主| 发表于 2016-11-7 13:09:31 | 显示全部楼层
小陀螺爱炒蛋 发表于 2016-11-7 12:36
首先,保证你的液晶和触摸驱动在没有gui的情况下是完全正确的~

这个没问题
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 21:32

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表