OpenEdv-开源电子网

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

stm32f407+ucosIII+emwin出现屏幕一半花屏

[复制链接]

4

主题

27

帖子

0

精华

高级会员

Rank: 4

积分
890
金钱
890
注册时间
2016-12-2
在线时间
39 小时
发表于 2018-2-8 20:38:40 | 显示全部楼层 |阅读模式
10金钱
使用的是stm32f407的芯片,先移植了UCOSIII,现在开始移植EMWIN,结果出现了屏幕的一半是花屏的现象,很奇怪啊。LCD屏使用的是原子哥的4.3寸电容屏(驱动ID:35510),emwin使用的是外部sram芯片(512K),开始移植的是官方教程Demo,出现了一半花屏,本来以为可能是demo占用内存太大,然后换了简单的文本显示任务,还是出现了一半的花屏,请问原子哥,有可能是什么原因啊?
附上程序:
/**********EMWIN任务**************************/
//任务优先级
#define EMWIN_TASK_PRIO                16
//任务堆栈大小       
#define EMWIN_STK_SIZE                 512
//任务控制块
OS_TCB EMWINTaskTCB;
//任务堆栈       
CPU_STK EMWIN_TASK_STK[EMWIN_STK_SIZE];
//任务函数
void EMWIN_task(void *p_arg);


void EMWIN_task(void *p_arg)
{
        OS_ERR err;
        OS_MSG_SIZE size;       
        s8 *value,presvalue,difvalue;
        char pressbuf[18],difbuf[18],param[18],parm[18],parm1[18];
        POINT_COLOR=RED;                                 
               
        POINT_COLOR=BLUE;//设置字体为蓝色
       
        GUI_CURSOR_Show(); //显示鼠标
        emwin_texttest();
        while(1)
        {
                GUI_Delay(100);
        }

}

官方demo图片1

官方demo图片1

文本显示demo

文本显示demo

官方demo图片3

官方demo图片3

官方demo图片2

官方demo图片2

最佳答案

查看完整内容[请看2#楼]

我已经找到了解决办法,看这个贴子吧。 探索者开发板4.3吋电容屏横屏操作时花屏 http://www.openedv.com/forum.php?mod=viewthread&tid=42170&fromuid=68981 (出处: OpenEdv-开源电子网)
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

4

主题

27

帖子

0

精华

高级会员

Rank: 4

积分
890
金钱
890
注册时间
2016-12-2
在线时间
39 小时
 楼主| 发表于 2018-2-8 20:38:41 | 显示全部楼层
我已经找到了解决办法,看这个贴子吧。
探索者开发板4.3吋电容屏横屏操作时花屏
http://www.openedv.com/forum.php ... 0&fromuid=68981
(出处: OpenEdv-开源电子网)
回复

使用道具 举报

3

主题

154

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
434
金钱
434
注册时间
2013-3-18
在线时间
82 小时
发表于 2018-2-9 10:21:16 | 显示全部楼层
设置一下GUI的占用的内存。以前玩的时候记得有个数组,调大一些试试。
回复

使用道具 举报

4

主题

27

帖子

0

精华

高级会员

Rank: 4

积分
890
金钱
890
注册时间
2016-12-2
在线时间
39 小时
 楼主| 发表于 2018-3-5 20:13:18 | 显示全部楼层
holy404290384 发表于 2018-2-9 10:21
设置一下GUI的占用的内存。以前玩的时候记得有个数组,调大一些试试。

可是我使用的外部SRAM作为emwin的内存,而外部SRAM的最大内存就是512K,而且我已经把所有的内存都分配给了 emwin了。
////GUIConf.c文件
#include "GUI.h"
#include "sram.h"
#include "malloc.h"


#define USE_EXRAM  1//使用外部RAM
//设置EMWIN内存大小
#define GUI_NUMBYTES  (500*1024)
#define GUI_BLOCKSIZE 0X80  //块大小


//GUI_X_Config
//初始化的时候调用,用来设置emwin所使用的内存
void GUI_X_Config(void) {
        if(USE_EXRAM) //使用外部RAM
        {
                U32 *aMemory = mymalloc(SRAMEX,GUI_NUMBYTES); //从外部SRAM中分配GUI_NUMBYTES字节的内存
                GUI_ALLOC_AssignMemory((void*)aMemory, GUI_NUMBYTES); //为存储管理系统分配一个存储块
                GUI_ALLOC_SetAvBlockSize(GUI_BLOCKSIZE); //设置存储快的平均尺寸,该区越大,可用的存储快数量越少
                GUI_SetDefaultFont(GUI_FONT_6X8); //设置默认字体
        }else  //使用内部RAM
        {
                U32 *aMemory = mymalloc(SRAMIN,GUI_NUMBYTES); //从内部RAM中分配GUI_NUMBYTES字节的内存
                GUI_ALLOC_AssignMemory((U32 *)aMemory, GUI_NUMBYTES); //为存储管理系统分配一个存储块
                GUI_ALLOC_SetAvBlockSize(GUI_BLOCKSIZE); //设置存储快的平均尺寸,该区越大,可用的存储快数量越少
                GUI_SetDefaultFont(GUI_FONT_6X8); //设置默认字体
        }
}
回复

使用道具 举报

2

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
54
金钱
54
注册时间
2018-3-6
在线时间
13 小时
发表于 2018-3-6 15:01:26 | 显示全部楼层
楼主您好,我做的毕设和您这个问题相关,我可以请教您些问题吗?我毕设做的是stm32控制触摸屏做汽车中控触摸屏系统
回复

使用道具 举报

4

主题

27

帖子

0

精华

高级会员

Rank: 4

积分
890
金钱
890
注册时间
2016-12-2
在线时间
39 小时
 楼主| 发表于 2018-3-7 13:12:20 | 显示全部楼层
月下时光浓 发表于 2018-3-6 15:01
楼主您好,我做的毕设和您这个问题相关,我可以请教您些问题吗?我毕设做的是stm32控制触摸屏做汽车中控触 ...

你好,我也是在做毕设。所以我应该跟你差不多水平。我们可以互相探讨交流
回复

使用道具 举报

2

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
54
金钱
54
注册时间
2018-3-6
在线时间
13 小时
发表于 2018-4-2 20:01:02 | 显示全部楼层
Ilena 发表于 2018-3-7 13:12
你好,我也是在做毕设。所以我应该跟你差不多水平。我们可以互相探讨交流

加QQ聊 1004485609
回复

使用道具 举报

21

主题

66

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
273
金钱
273
注册时间
2017-7-19
在线时间
89 小时
发表于 2018-4-2 22:03:36 | 显示全部楼层
请问楼主,我F103ZET6跑官方DEMO,稍大点的demo运行后会显示不全,是什么问题啊,堆栈大小不对吗?
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-23 12:01

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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