野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 26327|回复: 3

emWin移植问题

[复制链接]
发表于 2015-10-28 20:58:12 | 显示全部楼层 |阅读模式
本帖最后由 seu 于 2015-10-28 23:03 编辑

问题1: 移植emwin时候,火哥教程里面说GUI_X_Config()函数中要使用GUI_ALLOC_SetAvBlockSize库函数设置存储块的平均大小,但STemWin_Library_V1.1.1和STemWin_Library_V1.1.2库里面带的GUIConf.c文件中的GUI_X_Config()函数都没有设置存储块的大小,好像仿真也不会出错,是不是设置存储块大小只是可选的?这样的话什么时候需要设置呢?
问题2:emwin移植中,void LCD_X_Config(void)函数会通过Config.Orientation来确定液晶屏方向,例程中在LCD_X_DisplayDriver函数中对液晶初始化时也对液晶的屏幕方向进行了设置。但最终液晶屏方向取决于Config.Orientation(即采用直接控制液晶的字符输出函数可以看到液晶方向是受Config.Orientation控制,用emWin的函数输出字符也是一样的),这是为什么呢?按照教材LCD_X_DisplayDriver函数应该在LCD_X_Config函数后面执行呀。
123.png
12.png
122.png
回复

使用道具 举报

发表于 2015-10-29 08:47:08 | 显示全部楼层
1.GUI_ALLOC_SetAvBlockSize根据文档(第二张图)说明是需要的,不过确实发现新版本的emWin文档和例程都没有,所以这个函数应该不是必须的
2.LCD_X_DisplayDriver是调用LCD液晶底层驱动,而Config.Orientation是有emWin调用的函数,属于emWin应用层面的东西,Config.Orientation的作用应该是起到一个标志位作用,这个标志位并不会因为LCD_X_DisplayDriver函数而改变
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-10-29 20:25:29 | 显示全部楼层
亽亼 发表于 2015-10-29 08:47
1.GUI_ALLOC_SetAvBlockSize根据文档(第二张图)说明是需要的,不过确实发现新版本的emWin文档和例程都没 ...

非常感谢!
第二个问题我还是不明白,虽然先用Config.Orientation设置了液晶方向,但后在LCD_X_DisplayDriver中又用LCD底层驱动设置液晶的方向,显示的方向应该依照的是LCD底层驱动啊?
回复 支持 反对

使用道具 举报

发表于 2015-10-30 08:43:10 | 显示全部楼层
Config.Orientation只是设置了一个界面旋转标志位,但这个标志位什么时候才使用就是emWin内部程序处理问题啦,
打个比方:在程序开始时候定义一个变量比如Config.Orientation,并赋值给它,接下来程序跑一些任务函数比如LCD_X_DisplayDriver,最后呢,才来使用Config.Orientation的值对任务效果进行一些修改
回复 支持 反对

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2025-12-6 05:58 , Processed in 0.040749 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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