硬汉嵌入式论坛

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

[emWin] 请教下,按照V6-500 的历程移植,没有显示出历程的图片效果?

[复制链接]

680

主题

3485

回帖

5550

积分

论坛元老

积分
5550
发表于 2018-3-7 10:05:34 | 显示全部楼层 |阅读模式
本帖最后由 hpdell 于 2018-3-7 10:15 编辑

请教下,按照V6-500 的历程移植,没有显示出历程的图片效果?
但是显示圆形、方形却又可以,不知道问题出在哪里了 ?

光标可以显示出来了

历程的实际显示效果图       1
3.png

显示 圆形、方形效果图     2
0.png



移植后,显示出来的效果图,左上角出现光标,但是正确的效果应该  如上图 1 所示才对啊
1.png

相关部分代码如下:
/*
*********************************************************************************************************
*                           GUI_WIDGET_CREATE_INFO类型数组
*********************************************************************************************************
*/
static const GUI_WIDGET_CREATE_INFO _aDialogCreate[] = {
  { FRAMEWIN_CreateIndirect, "Framewin", ID_FRAMEWIN_0, 0, 0, 1024, 600, 0, 0x64, 0 },     // 这个地方我改成了 1024 , 600  ,历程是800,480  
  { BUTTON_CreateIndirect, "Button", ID_BUTTON_0, 130, 28, 147, 35, 0, 0x0, 0 },
  { SLIDER_CreateIndirect, "Slider", ID_SLIDER_0, 133, 118, 137, 25, 0, 0x0, 0 },
};


下面这个函数是FreeRTOS 系统任务里面调用的
void MainTask(void)
{
    static char cc=0;
  
    /* 初始化 */
//    GUI_Init();   // 已经在主函数里面初始化了
   
  if(cc==0)
  {
    cc=1;
    /*
     关于多缓冲和窗口内存设备的设置说明
       1. 使能多缓冲是调用的如下函数,用户要在LCDConf_Lin_Template.c文件中配置了多缓冲,调用此函数才有效:
        WM_MULTIBUF_Enable(1);
       2. 窗口使能使用内存设备是调用函数:WM_SetCreateFlags(WM_CF_MEMDEV);
       3. 如果emWin的配置多缓冲和窗口内存设备都支持,二选一即可,且务必优先选择使用多缓冲,实际使用
        STM32F429BIT6 + 32位SDRAM + RGB565/RGB888平台测试,多缓冲可以有效的降低窗口移动或者滑动时的撕裂
        感,并有效的提高流畅性,通过使能窗口使用内存设备是做不到的。
       4. 所有emWin例子默认是开启三缓冲。
    */
    WM_MULTIBUF_Enable(1);
   
    /*
         触摸校准函数默认是注释掉的,电阻屏需要校准,电容屏无需校准。如果用户需要校准电阻屏的话,执行
       此函数即可,会将触摸校准参数保存到EEPROM里面,以后系统上电会自动从EEPROM里面加载。
    */
      //TOUCH_Calibration();
   
    /* 显示游标 */
    GUI_CURSOR_Show();
   
    /* 创建对话框 */
    CreateFramewin();
  }
//    while(1)
    {
//        GUI_Delay(50);
    }
}



static void vTask_2(void *pvParameters)
{
  BSP_LCD_FillRect(500, 290, 60, 35);
  
  while(1)
  {
    TCA6424_KeyScan();
    GT911_STemWinScan();

    MainTask();
    GUI_Delay(1);
//   vTaskDelay(1);
  }
}

程序其他的代码基本没有修改










回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115750
QQ
发表于 2018-3-7 10:19:34 | 显示全部楼层
QQ截图20180307101817.png
回复

使用道具 举报

680

主题

3485

回帖

5550

积分

论坛元老

积分
5550
 楼主| 发表于 2018-3-7 11:33:39 | 显示全部楼层

你好,我在任务里面调用了这个 GUI_Delay(1);

任务函数如下:

static void vTask_2(void *pvParameters)
{
  BSP_LCD_FillRect(500, 290, 60, 35);
  
  while(1)
  {
    TCA6424_KeyScan();
    GT911_STemWinScan();

    MainTask();
    GUI_Delay(1);       // 此处调用了gui的延时函数
//   vTaskDelay(1);
  }
}
回复

使用道具 举报

680

主题

3485

回帖

5550

积分

论坛元老

积分
5550
 楼主| 发表于 2018-3-7 21:28:08 | 显示全部楼层
终于显示出来了

1.png

2.png


3.png

触摸屏也可以使用了,

高手勿喷 ,
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-16 07:47 , Processed in 0.318293 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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