emWin5.24 VS2008模拟LCD12864 stm32 RTX移植 【worldsing笔记】
emWin for 12864 并口移植
源代码下载:RTX_emWin5.24_Keil_VS2008-20141122.zip
硬件环境:
CPU: stm32f103ve
LCD:st7920控制器 12864 并口
软件环境:
Keil MDK4.74
VS2008
emWin5.24
使用rtx操作系统
1、实现emWin5.24在keil 和vs2008同一代码的工程,vs2008目录实现在FMC的官方模拟器上的模拟,Keil目录实现在stm32f103ve 驱动12864 的并口屏
2、支持12x12和16x16的汉字,两种字体已经添加在VS工程,因为汉字库比较占用stm32的flash资源,所有,keil就加了12x12的汉字,但是flash占用的
数量依然很大,可以用guiFont工具生成指定汉字库的小字库;
3、工程目录说明:
Keil工程结构:
|- app
| |- main.c 代码入口 rtx操作系统入口
| |- SimSun_1212.c guiFont工具生成指定汉字库的小字库
| \_ Dialog.c 用户的gui入口代码,以MainTask()入口
|
|- emWin5.24/userFont 用户自定义的字体
|
|- emWin5.24/config GUI的配置和LCD的配置
| |- GUIConf.c GUI配置
| \_ LCDConf.c LCD的配置
|
|- emWin5.24/driver
| |- GUIDRV_Template.c 驱动接口统一格式
| \_ lcd12864.c 12864底层接口
|
|- emWin5.24/osPort 操作系统接口
| \_ GUI_X_RTX.c Keil官方自带的rtx系统与GUI接口
|
|- emWin5.24/lib Keil官方自带的emWiwn的库文件,位于C:\Keil\ARM\Segger\emwin\lib
| \_GUI_CM3.lib 针对CM平台优化的GUI库文件
|
|- rtx/config Keil官方自带的rtx配置
| \_RTX_conf_CM.c
|
|- stLib stm32官方标准外设库
|
\_ readme 工程说明
3、工程设置里需要target->Operating system->RTX kernel
另外,keil需要有RL-ARM的库的Lisence的授权否则无法编译
4、移植时需要修改emWin5.24/driver和emWin5.24/config目录的文件,驱动移植需要改:GUIDRV_Template.c的第192行和第147行;
5、增加字体或是修改字体时需要注意修改编码格式,否则无法正常显示。
Keil 工程
VS2008 工程模拟
emWin5.24 VS2008模拟LCD12864 stm32 RTX移植 【worldsing笔记】的更多相关文章
- STM32上移植ds1307笔记
PS:网上关于ds1307的资料最多还是基于51等单片机的,和stm32上还是略有差别,代码是参考了http://www.openedv.com/posts/list/20167.htm 但是他的代码 ...
- 3.emWin5.26(ucGui)VS2008 2-D图形库-基本绘图【Worldsing笔记】
UCGUI(emWin) 2-D图形库--之基本板绘图,在ucgui的基本绘图功能上来看,功能还是比较全的,本例程主要使用基本的接口,两个主要的概念是绘制(draw)和填充(Fill),这两的区别是一 ...
- 74HC595 for STM32 源代码【worldsing笔记】
74HC595是硅结构的CMOS器件, 兼容低电压TTL电路,遵守JEDEC标准. 74HC595是具有8位移位寄存器和一个存储器,三态输出功能. 移位寄存器和存储器是分别的时钟. 数据在SHcp(移 ...
- DS18B20 for STM32 源代码 【worldsing笔记】
DS18B20是DALLAS公司生产的一线式数字温度传感器,具有3引脚TO-92小体积封装形式:温度测量范围为-55℃-+125℃,可编程为9位-12位A/D转换精度,测温分辨率可达0.0625℃.主 ...
- ucos实时操作系统学习笔记——操作系统在STM32的移植
使用ucos实时操作系统是在上学的时候,导师科研项目中.那时候就是网上找到操作系统移植教程以及应用教程依葫芦画瓢,功能实现也就罢了,没有很深入的去研究过这个东西.后来工作了,闲来无聊就研究了一下这个只 ...
- stm32寄存器版学习笔记07 ADC
STM32F103RCT有3个ADC,12位主逼近型模拟数字转换器,有18个通道,可测量16个外部和2个内部信号源.各通道的A/D转换可以单次.连续.扫描或间断模式执行. 1.通道选择 stm32把A ...
- stm32寄存器版学习笔记06 输入捕获(ETR脉冲计数)
STM32外部脉冲ETR引脚:TIM1-->PA12;TIMER2-->PA0:TIMER3-->PD2;TIMER4-->PE0… 1.TIM2 PA0计数 配置步骤 ①开启 ...
- stm32寄存器版学习笔记05 PWM
STM32除TIM6和TIM7外都可以产生PWM输出.高级定时器TIM1和TIM8可以同时产生7路PWM,通用定时器可以产生4路PWM输出. 1.TIM1 CH1输出PWM配置步骤 ①开启TIM1时钟 ...
- stm32寄存器版学习笔记03 外部中断
stm32的每个I/O口都可以作为中断输入,要把I/O口设置为外部中断输入,必须将I/O口设置为上拉/下拉输入 或 浮空输入(但浮空的时候外部一定要带上拉或下拉电阻,否则可能导致 中断不停的触发),干 ...
随机推荐
- Android Fragment 真正的完全解析(上) (转载)
原处: http://blog.csdn.net/lmj623565791/article/details/37970961 自从Fragment出现,曾经有段时间,感觉大家谈什么都能跟Fragmen ...
- HDu 3449 (有依赖的01背包) Consumer
题意: 有n件物品,对应有不同的价格和价值,这是典型的01背包.但现在有了一个限制,要买物品先买能装这件物品的特定的盒子,盒子的价值为0 代码理解得还不是太好,感觉这是一个“二重”的01背包.首先假设 ...
- UVa 10635 (LIS+二分) Prince and Princess
题目的本意是求LCS,但由于每个序列的元素各不相同,所以将A序列重新编号{1,2,,,p+1},将B序列重新编号,分别为B中的元素在A中对应出现的位置(没有的话就是0). 在样例中就是A = {1 7 ...
- UIDevice通知
UIDevice通知 UIDevice类提供了一个单例对象,它代表着设备,通过它可以获得一些设备相关的信息,比如电池电量值(batteryLevel).电池状态(batteryState).设备的类型 ...
- gcc与g++
gcc和g++都是GNU(组织)的一个编译器. 误区一:gcc只能编译c代码,g++只能编译c++代码两者都可以,但是请注意:1.后缀为.c的,gcc把它当作是C程序,而g++当作是c++程序:后缀为 ...
- linux shared lib 使用与编译
一. 动态链接库的原理及使用 Linux提供4个库函数.一个头文件dlfcn.h以及两个共享库(静态库libdl.a和动态库libdl.so)支持动态链接. Ø ...
- 最全的Android源码目录结构详解(转)
Android 2.1|-- Makefile|-- bionic (bionic C库)|-- bootable (启动 ...
- HDU 1018 Big Number (阶乘位数)
题意: 给一个数n,返回该数的阶乘结果是一个多少位(十进制位)的整数. 思路: 用对数log来实现. 举个例子 一个三位数n 满足102 <= n < 103: 那么它的位数w 满足 w ...
- matlab数据的导入和导出,以matlab工作区workspace为source和destination
MATLAB支持工作区的保存.用户可以将工作区或工作区中的变量以文件的形式保存,以备在需要时再次导入. 保存工作区可以通过菜单进行,也可以通过命令窗口进行. 数据导出 1. 保存整个工作区 选择Fil ...
- 【英语】Bingo口语笔记(53) - 口语中不可望文生义的词语