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 工程模拟

时间: 2024-08-05 23:37:53

emWin5.24 VS2008模拟LCD12864 stm32 RTX移植 【worldsing笔记】的相关文章

STM32上移植ds1307笔记

PS:网上关于ds1307的资料最多还是基于51等单片机的,和stm32上还是略有差别,代码是参考了http://www.openedv.com/posts/list/20167.htm 但是他的代码有一定错误,在我的设备上读不了数据,更别谈写数据了. 说明:此程序是控制IO口模拟i2c控制ds1307 关于ds1302的资料这里就不多说了,主要分析下代码.让各位入门的新手参考一下,附上代码的下载链接:http://download.csdn.net/detail/u012062785/8966

3.emWin5.26(ucGui)VS2008 2-D图形库-基本绘图【Worldsing笔记】

UCGUI(emWin) 2-D图形库--之基本板绘图,在ucgui的基本绘图功能上来看,功能还是比较全的,本例程主要使用基本的接口,两个主要的概念是绘制(draw)和填充(Fill),这两的区别是一个空心的,另一个是实心的,用时注意加于区分,另一个值得注意的是绘制模式,GUI_SetDrawMode(),目前emWin5.2有两模式,一个是正常的绘制,另一个是取反的方式绘制. ? 例程代码下载:3.emWin5.26(ucGui)VS2008 2-D图形库-基本绘图.zip ? GUI_Get

ucos实时操作系统学习笔记——操作系统在STM32的移植

使用ucos实时操作系统是在上学的时候,导师科研项目中.那时候就是网上找到操作系统移植教程以及应用教程依葫芦画瓢,功能实现也就罢了,没有很深入的去研究过这个东西.后来工作了,闲来无聊就研究了一下这个只有几千行代码的操作系统,也没所有的代码都看,只是看了其中部分内容.自己还自不量力的尝试着去写过简单的操作系统,最后写着写着就被带到了ucos的设计思路上了,后来干脆就“copy”代码了,虽说对操作系统内核的理解有很大的帮助,但是很是惭愧啊,智力不够,对操作系统内核的设计者更加仰慕,O(∩_∩)O哈哈

RTX移植

下面以Xplain STM32(使用STM32F103ZET6 CPU)开发板为例,将RTX移植到该板上运行.为了能让刚接触这个系统的人了解整个移植过程,会重新建立一个工程,将所有的源码(包括RTX内核)添加到工程中,而不使用RTX库的形式. 1. 新建一文件夹(rtx-stm32),内容如下: -- keil包含keil的工程文件 -- misc包含连接脚本文件 -- si是source insight工程文件 --src包含源代码: ---  cm3    CPU相关文件 ---  stm3

stm32寄存器版学习笔记07 ADC

STM32F103RCT有3个ADC,12位主逼近型模拟数字转换器,有18个通道,可测量16个外部和2个内部信号源.各通道的A/D转换可以单次.连续.扫描或间断模式执行. 1.通道选择 stm32把ADC转换分成2个通道组:规则通道组相当于正常运行的程序:注入通道组相当于中断.程序初始化阶段设置好不同的转换组,系统运行中不用变更循环转换的配置,从而达到任务互不干扰和快速切换. 有16个多路通道.可以把转换组织成两组:规则组和注入组.在任意多个通道上以任意顺序进行的一系列转换构成成组转换.例如,可

stm32寄存器版学习笔记05 PWM

STM32除TIM6和TIM7外都可以产生PWM输出.高级定时器TIM1和TIM8可以同时产生7路PWM,通用定时器可以产生4路PWM输出. 1.TIM1 CH1输出PWM配置步骤 ①开启TIM1时钟,配置PA8为复用输出 APB2外设时钟使能寄存器(RCC_APB2ENR) APB1外设复位寄存器 (RCC_APB1RSTR) 置1开启.清0关闭. Eg:RCC->APB2ENR|=1<<11; //使能TIM1时钟 配置I/O口: 参见stm32寄存器版学习笔记01 GPIO口的配置

stm32寄存器版学习笔记06 输入捕获(ETR脉冲计数)

STM32外部脉冲ETR引脚:TIM1-->PA12;TIMER2-->PA0:TIMER3-->PD2;TIMER4-->PE0… 1.TIM2 PA0计数 配置步骤 ①开启TIM2时钟,配置PA0输入 APB1外设复位寄存器 (RCC_APB1RSTR) APB2外设时钟使能寄存器(RCC_APB2ENR) 置1开启.清0关闭. Eg:RCC->APB1ENR|=1<<0; //使能TIM2时钟  RCC->APB2ENR|=1<<2;  

LwIP学习笔记——STM32 ENC28J60移植与入门

0.前言 去年(2013年)的整理了LwIP相关代码,并在STM32上"裸奔"成功.一直没有时间深入整理,在这里借博文整理总结.LwIP的移植过程细节很多,博文也不可能一一详解个别部分只能点到为止. [本文要点] [1]不带操作系统的LwIP移植,LwIP版本为1.4.1. [2]MCU为STM32F103VE,网卡为ENC28J60. [3]移植过程重点描述ethernetif.c和LwIP宏配置等. [4]一个简单的TCP echo例子. [5]力求简单,没有DHCP功能,甚至没有

INA219驱动,基于STM32(STM8移植可用)

之前要做一个电量计,采用INA219电流检测芯片,参考了网上大神的代码后发现在STM32上可用,移植到STM8后不可用,后来找到了官方的示例demo,综合网上大神代码调试后成功驱动,测电流.电压.功率,精确度很高. 现在分享出来供大家参考,直接贴代码: main.c int main(void) { ina219_init(); while(1) { //根据具体需求调用检测电流电压的函数 } } ina219.c #include "ina219.h" u8 ina219_busVo