硬汉嵌入式论坛

 找回密码
 立即注册
查看: 4103|回复: 6
收起左侧

[ThreadX全家桶] GUIX屏幕偏移问题

[复制链接]

15

主题

73

回帖

118

积分

初级会员

积分
118
发表于 2020-9-29 14:00:16 | 显示全部楼层 |阅读模式
本帖最后由 WSTON 于 2020-9-29 14:06 编辑

今天移植完触摸驱动,触摸的三个事件也完成了。
测试了一下,跑汉哥的例子没有问题,radial_progress_bar和开关都很流畅!所以我觉得我的屏幕和触摸驱动都没有问题了。

然后自己想使用GUIX Studio做一个例子,前后周折遇到的一个问题就是屏幕会在x轴方向偏移,都没有解决。

然后我以为是自己Studio使用的问题,所以直接在汉哥的例程里面修改:
1、我的屏幕是480x854的,所以修改了分辨率,当然画布size也修改了过来(819840=480*854*2
  1. GX_STUDIO_DISPLAY_INFO guiapp_display_table[1] =
  2. {
  3.     {
  4.     "display_1",
  5.     "display_1_canvas",
  6.     display_1_theme_table,
  7.     display_1_language_table,
  8.     DISPLAY_1_THEME_TABLE_SIZE,
  9.     DISPLAY_1_LANGUAGE_TABLE_SIZE,
  10.     DISPLAY_1_STRING_TABLE_SIZE,
  11.     480,                                     /* x resolution                   */
  12.     854,                                     /* y resolution                   */
  13.     &display_1_control_block,
  14.     &display_1_canvas_control_block,
  15.     &display_1_root_window,
  16.     GX_NULL,                                 /* canvas memory area             */
  17.     819840                                   /* canvas memory size in bytes    */
  18.     }
  19. };
复制代码
2、修改window的大小为{0,0,479,853} /* widget size */
  1. GX_CONST GX_STUDIO_WIDGET window_define =
  2. {
  3.     "window",
  4.     GX_TYPE_WINDOW,                          /* widget type                    */
  5.     Window1_Main_ID,                         /* widget id                      */
  6.     #if defined(GX_WIDGET_USER_DATA)
  7.     0,                                       /* user data                      */
  8.     #endif
  9.     GX_STYLE_BORDER_THIN|GX_STYLE_ENABLED|GX_STYLE_DYNAMICALLY_ALLOCATED,   /* style flags */
  10.     GX_STATUS_ACCEPTS_FOCUS,                 /* status flags                   */
  11.     sizeof(WINDOW_CONTROL_BLOCK),            /* control block size             */
  12.     GX_COLOR_ID_WINDOW_FILL,                 /* normal color id                */
  13.     GX_COLOR_ID_WINDOW_FILL,                 /* selected color id              */
  14.     GX_COLOR_ID_DISABLED_FILL,               /* disabled color id              */
  15.     gx_studio_window_create,                 /* create function                */
  16.     GX_NULL,                                 /* drawing function override      */
  17.     GX_NULL,                                 /* event function override        */
  18.     {0, 0, 479, 853},                                  /* widget size                    */
  19.     GX_NULL,                                 /* next widget                    */
  20.     &window_prompt_define,                   /* child widget                   */
  21.     0,                                       /* control block                  */
  22.     (void *) &window_properties              /* extended properties            */
  23. };
复制代码
出现的问题是在上电或者我乱点屏幕空白处的时候,屏幕会在x轴偏移。
于是乎我试过很多办法,发现将 {0, 0, 479, 853}, /* widget size */改小为{0, 0, 479-10, 853-10},就没有出现问题了。
这也就是一开始用汉哥的例子没有问题吧。


我这边用了4M当作画布内存,虽然只用了819840,动态内存用了17M
  1. /*
  2. 4MB 空间用于显存  分散加载文件要修改
  3. 方案二:
  4. ;0x80500000到0x81C00000 的 23M
  5. ; 前面 4M 用于 Canvas 画布 0x80500000- 0x80900000
  6. ; 后面 19M 用动态内存           0x80900000- 0x81C00000
  7. */
  8. #define           GUI_NUMBYTES                     1024*1024*19                       /* 设置动态内存大小 */
  9. #define           Canvas_NUMBYTES       1024*1024*4                        /* 设置画布内存大小 */
  10. #define           Canvas_Memory         0x80500000                          /* 设置Canvas地址   */  
  11. TX_BYTE_POOL  memory_pool;
  12. unsigned char *MemoryBlock = (unsigned char *)(0x80900000); /* 动态内存地址    */
复制代码


GUIX.jpg
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115803
QQ
发表于 2020-9-29 20:00:20 | 显示全部楼层
可以生成的工程在模拟器上跑下正常不。
回复

使用道具 举报

15

主题

73

回帖

118

积分

初级会员

积分
118
 楼主| 发表于 2020-9-30 08:36:18 | 显示全部楼层
eric2013 发表于 2020-9-29 20:00
可以生成的工程在模拟器上跑下正常不。

Studio 上面跑的是正常的呢
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115803
QQ
发表于 2020-9-30 10:15:05 | 显示全部楼层
WSTON 发表于 2020-9-30 08:36
Studio 上面跑的是正常的呢

VS2019上测试。
回复

使用道具 举报

15

主题

73

回帖

118

积分

初级会员

积分
118
 楼主| 发表于 2020-9-30 13:35:46 | 显示全部楼层

用VS2019跑得没有问题,在在板子上跑出问题。。。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115803
QQ
发表于 2020-10-1 00:48:57 | 显示全部楼层
WSTON 发表于 2020-9-30 13:35
用VS2019跑得没有问题,在在板子上跑出问题。。。

这就尴尬了。注意文件App_SysFunction里面,我针对我们的显示屏做了自适应。
回复

使用道具 举报

15

主题

73

回帖

118

积分

初级会员

积分
118
 楼主| 发表于 2020-10-1 13:07:31 | 显示全部楼层
eric2013 发表于 2020-10-1 00:48
这就尴尬了。注意文件App_SysFunction里面,我针对我们的显示屏做了自适应。

确实尴尬,适应那块参数我也改成我屏幕尺寸。感觉是触摸这部分跑出错了,回头我再找找什么问题。
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-5-19 16:04 , Processed in 0.386975 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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