OpenEdv-开源电子网

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

为何emwin仿真不闪屏,上了开发板就闪屏了?

[复制链接]

13

主题

35

帖子

0

精华

初级会员

Rank: 2

积分
133
金钱
133
注册时间
2015-12-21
在线时间
17 小时
发表于 2016-2-20 07:53:14 | 显示全部楼层 |阅读模式
1金钱
各位大师,我写了如下代码, 数字由200不断变小,红色柱子也同时不断变短,

在emwin仿真效果很好,不闪屏。

但是下载到开发板上,却不断闪屏,观感很差,不知何原因,大师们看看代码。谢。

#include "GUI.h"  
#include "LCD.h"

int tem;
       
        void num() {
GUI_MEMDEV_Handle hMem1;
        //int tem;
GUI_Init();
hMem1 = GUI_MEMDEV_Create(80,20, 50, 20);
                        GUI_MEMDEV_Select(hMem1);
        GUI_ClearRect(80,20, 50, 20);
     GUI_SetColor(GUI_RED);
       
                GUI_DispDecAt(tem, 80,20,3);//显示正数部分       
      GUI_MEMDEV_CopyToLCDAt(hMem1, 80,20);               
        }

void wendu() {
//int tem;
GUI_MEMDEV_Handle hMem;
          GUI_Init();
               
                        hMem = GUI_MEMDEV_Create(50,20, 10, 180);
                        GUI_MEMDEV_Select(hMem);
        GUI_ClearRect(50,20,60,200);
     GUI_SetColor(GUI_RED);
        GUI_FillRect(50,20,60,tem);
                       
      GUI_MEMDEV_CopyToLCDAt(hMem, 50,20);

}
void MainTask(void) {

                                    
        //int tem;  
        //GUI_MEMDEV_Handle hMem,hMem1;
         
        GUI_Init();
                  
                                                  
        GUI_DispString("DS18B20 OK");
         GUI_SetColor(GUI_BLUE);//设置字体为蓝色
        GUI_DispString("Temp:   . C");         
        while(1)
        {                     
               
                                                                                  
                        for (tem=200;tem>0;tem--)
                       
                        {
                                num();               
                wendu();                    
                          
                 GUI_Delay(1000);

                }
}
}

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

使用道具 举报

3

主题

548

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1383
金钱
1383
注册时间
2015-2-3
在线时间
197 小时
发表于 2016-2-20 10:27:02 | 显示全部楼层
可能是给EMWIN分配的动态内存太小了,更有可能的是EMWIN底层接口优化不够或者干脆就是LCD接口带宽不够
电脑上模拟器像素填充率几千万,用F1可能就几百万
回复

使用道具 举报

9

主题

1385

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
11469
金钱
11469
注册时间
2013-3-8
在线时间
1226 小时
发表于 2016-2-22 10:54:47 | 显示全部楼层
楼上正解
回复

使用道具 举报

13

主题

35

帖子

0

精华

初级会员

Rank: 2

积分
133
金钱
133
注册时间
2015-12-21
在线时间
17 小时
 楼主| 发表于 2016-2-23 07:52:12 | 显示全部楼层
mini板内存怎么这么小啊? 出现水银柱子,就出现不了温度数字,内存才35*1020,如何能扩大内存?
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-22 15:06

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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