OpenEdv-开源电子网

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

移植EMWIN后,为什么跑GUIDEMO(),显示不正确?

[复制链接]

8

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
110
金钱
110
注册时间
2016-9-23
在线时间
37 小时
发表于 2016-9-23 17:20:04 | 显示全部楼层 |阅读模式
本帖最后由 liuzq71 于 2016-9-23 18:56 编辑

移植EMWIN后,跑能跑完整个GUIDEMO(),但是却显示不正确,啥原因?我用的板子上没有外扩RAM,芯片是STM32F103VET6,原子的4.3寸电容屏,
EMWIN内存设为30K,#define GUI_NUMBYTES     (35*1024),startup_stm32f10x_hd.s中的堆栈大小也改成800了,Stack_Size      EQU     0x00000800 ,
好象是刷屏太慢了,请指教,谢
无标题.png
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

88

主题

7377

帖子

5

精华

资深版主

Rank: 8Rank: 8

积分
14980
金钱
14980
注册时间
2013-11-13
在线时间
1823 小时
发表于 2016-9-24 10:44:23 | 显示全部楼层
是不是用杜邦线连接的屏?emwin用杜邦线连接的话很容易出问题的。
回复 支持 反对

使用道具 举报

8

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
110
金钱
110
注册时间
2016-9-23
在线时间
37 小时
 楼主| 发表于 2016-9-24 11:16:53 | 显示全部楼层
zuozhongkai 发表于 2016-9-24 10:44
是不是用杜邦线连接的屏?emwin用杜邦线连接的话很容易出问题的。

是用 40PINS转34PINS“灰排线”从STM32板连到TFTLCD的(为此我还特地做了一块转接板),我也怀疑是线过长的原因;但是,单独下载原子的“TFTLCD屏实验“却是好的,包括触摸。
回复 支持 反对

使用道具 举报

8

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
110
金钱
110
注册时间
2016-9-23
在线时间
37 小时
 楼主| 发表于 2016-9-24 15:23:16 | 显示全部楼层
本帖最后由 liuzq71 于 2016-9-24 16:21 编辑

我刚才又做了下测试,发现做“原子战舰板的第"实验13.TFTLCD显示实验(库函数版)”,main.c中,LCD_ShowString(30,40,210,24,24,"WarShip STM32 ^_^"); 发现当将变量POINT_COLOR设置成:GREEN,BLUE,YELLOW,CYAN,MAGENTA时,字符串显示不出来,当是LGARY,BROWN,BLACK,RED时字符串能显示,字的位置,大小,内容也是正确的;加了如下语句时,LCD_Fill(50,250,350,300,RED);                //当颜色值是:RED,GREEN,YELLOW能显示;颜色值是:BLUE,MAGENTA,则不能显示,为啥?谢

我的FSMC设置:





回复 支持 反对

使用道具 举报

8

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
110
金钱
110
注册时间
2016-9-23
在线时间
37 小时
 楼主| 发表于 2016-9-24 16:28:02 | 显示全部楼层
本帖最后由 liuzq71 于 2016-9-24 16:36 编辑

我的FSMC设置是:
无标题1.png
无标题2.png
回复 支持 反对

使用道具 举报

8

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
110
金钱
110
注册时间
2016-9-23
在线时间
37 小时
 楼主| 发表于 2016-9-24 17:06:19 | 显示全部楼层

//-----------------LCD端口定义----------------
#define        LCD_LED PDout(6) //LCD背光  PD6             
//LCD地址结构体typedef struct
{
        vu16 LCD_REG;
        vu16 LCD_RAM;
} LCD_TypeDef;
//使用NOR/SRAM的 Bank1.sector1地址位HADDR[27,26]=00, A16作为数据命令区分线
//注意设置时STM32内部会右移一位对齐!                            
//#define LCD_BASE        ((u32)(0x6C000000 | 0x000007FE))
#define LCD_BASE        ((u32)(0x60000000 | 0x0001FFFE))
#define LCD             ((LCD_TypeDef *) LCD_BASE)
回复 支持 反对

使用道具 举报

8

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
110
金钱
110
注册时间
2016-9-23
在线时间
37 小时
 楼主| 发表于 2016-9-25 12:30:34 | 显示全部楼层
解决了,原因是用于连接STM32板和LCD的FC灰排线过长(约90CM)造成的。
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

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

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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