使用EMWIN过程中遇到的问题与解决方法

时间:2022-02-02 15:51:23

硬件平台:STM32F407VET6

开发环境:MDK5.23、STemwin5.3.2、VS2017

将本人在使用emwin过程中遇到的问题及解决方法分享出来,作为一个记录,也希望能给各位网友提供帮助。其中有一些问题的具体原因本人无法确定,每个人遇到的问题不尽相同,该文章仅供参考。

1.屏幕光标有残影或光标移动后颜色不对

问题原因,屏幕与emwin的接口函数有问题。

解决方法:接口函数位于GUIDRV_Template.c文件中,保证屏幕的读点函数和写点函数编写正确,若开启了优化,也要保证其他接口函数(如画水平线)正确。一般是读点函数编写错误,要注意读点接口函数是要有返回值的,通过显示屏底层函数获取的某点的数值要return出去,不要忘记写return。GUIDRV_Template.c这个文件可以从ST的官方例子中复制。

2.触摸屏幕无反应,未能成功驱动触摸屏

解决方法:实时扫描触摸屏,并将接触点的坐标通过GUI_PID_StoreState函数传给emwin,该函数具体使用方法参见stemwin手册。

http://blog.csdn.net/u010495967/

3.使用VS2017模拟emwin报错

解决方法:按照链接中的博文进行设置即可。 http://blog.csdn.net/yanlutian/article/details/52564231 感谢该博主。

以下为引用:

在工程属性页中,将忽略所有默认库选为“否”,否则链接时会提示找不到对应函数。

忽略指定的默认库(libc.lib)

照上面的方法在附加依赖项里加入"legacy_stdio_definitions.lib"

4.在MDK中编译中文emwin界面时出错。

解决方法:比如要在界面中显示中文时,代码中肯定会出现中文。配置好中文字库文件,MDK使用UTF8编码,按照https://wenku.baidu.com/view/8e0b0df8f80f76c66137ee06eff9aef8941e48b8.html 改文章所述,在魔法棒--C/C++ 秘书处controller 中添加 --locale=english

欢迎转载,转载请注明:作者及博客地址http://blog.csdn.net/u010495967