博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
emWin 移植 - 基于红牛开发板
阅读量:6605 次
发布时间:2019-06-24

本文共 1430 字,大约阅读时间需要 4 分钟。

一直想利用所学的东西自己设计一个精致一些的作品,手头正好有一块红牛开发板,就先用它来写一些软件,熟悉一下过程和一些想法的可行性。首先当然是选择一个操作系统了,对比了几种之后选择了emWin。那就移植一下吧。

这里首先要感谢一下 这篇帖子。我的思路基本是照着这个帖子做的。感谢楼主把辛苦的研究成果贡献出来,让我这个菜鸟能够快些入门。

 

STemWin下载地址:

 

在ST官方网站上下载好STemWin后 解压 先使用Libraries文件夹下的STemWinLibrary522 文件夹 复制到项目工程文件夹里

 

然后添加下列文件到工程

修改 LCDConf_FlexColor_Template.c

添加 #include "ili9320.h" 在此之前需要将所使用的液晶屏底层驱动程序写好。横竖屏取决于底层的驱动。

注意下面的函数,写指令和写数据一般都在液晶驱动的底层有定义,直接添加进来就行了。

static void LcdWriteReg(U16 Data) {  // ... TBD by user  LCD->LCD_REG = Data;}static void LcdWriteData(U16 Data) {  // ... TBD by user  LCD->LCD_RAM = Data;}static void LcdWriteDataMultiple(U16 * pData, int NumItems) {  while (NumItems--)   {    // ... TBD by user    LCD->LCD_RAM = *pData++;   }}static void LcdReadDataMultiple(U16 * pData, int NumItems) {  *pData = LCD->LCD_RAM;  while (NumItems--)    {    // ... TBD by user    *pData++ = LCD->LCD_RAM;   }}

 

修改完成后就是建立了emWin与液晶屏的联系

关于 void LCD_X_Config(void) 函数 (这个我会总结一下后补)续....

 

然后测试GUI显示是否正常

我用的是ST官网最新的库函数写的程序,包括液晶屏的驱动函数都是官方的,所以感觉操作起来要方便一些

主函数内写如下代码:

SystemInit();RCC_AHBPeriphClockCmd(RCC_AHBPeriph_CRC,ENABLE);LCD_X_Init();ili9320_Initializtion();GUI_Init();GUI_SetColor(GUI_YELLOW);GUI_DispStringAt("emWin5.22 GUI Complete",80,20);while(1);

 注意液晶的初始化不要忘了

这样我在红牛开发板上就可以正常显示了(液晶驱动是ILI9320)

然后可以利用GUI.h里面的各种函数显示想要的东西

具体函数的功能以及如何使用参照emWin用户手册上面有详细的解释。

下面是几个API函数在手册里面可以查找

 数值API:

 文本API:

到此为止我们就完成了初步的液晶底层移植。接下来移植一下演示程序。

 

转载于:https://www.cnblogs.com/einstein-2014731/p/3885805.html

你可能感兴趣的文章
防火墙基础:ISA Server 防火墙客户端和Forefront TMG 客户端介绍
查看>>
xtrapivotcontrol 控件用法及相关属性
查看>>
13.MongoDB 连接命令格式
查看>>
关于wireshark
查看>>
[c++] How many bytes do pointers take up?
查看>>
使用Git和Github来管理自己的代码和笔记
查看>>
Shell脚本 常用命令总结 二
查看>>
判断字符串a和b是否互为旋转词
查看>>
Centos(Yum源更改)
查看>>
冰球游戏大概的模块
查看>>
PHP中htmlentities和htmlspecialchars的区别
查看>>
Best Part
查看>>
ClassPathXMLApplicationContext上下文加载过程
查看>>
JS模拟select下拉菜单
查看>>
线性方程组迭代求解——Jacobi迭代算法(Python实现)
查看>>
vmware workstation14永久激活密钥分享
查看>>
HDU 3954 Level up(多颗线段树+lazy操作)
查看>>
hdu Stars(树状数组)
查看>>
jquery中ajax方法load get post与脚本文件如php脚本连接时,脚本怎样接受数据?
查看>>
PHP面向对象的进阶学习(抽像类、接口、final、类常量)
查看>>