前段时间买了本《uCOS——III》书,然后看书上介绍的官方eval——board挺好,可惜只能买到中国版的,stm32f107vct6,互联型,板载功能不多:USB_OTG+micro_SD座+选配串口WIFI+
CAN+以太网接口,总觉得少点啥!(板子上竟然只有一个按键,还是复位的。。。)于是先自己加了个串口通信,然后觉得得加个显示才行,猛然发现,原子哥的LOED模块太好了,放到拓展区简直绝配,色调都一致,OLED用IIC死活不亮,最后放弃了,用了四线SPI,搞好后觉得屏太小,用8*16的字还显大,懒得自己弄字摸,记得uCGUI里有4*6字体,就想在单色屏上移植个GUI,UCGUI
移植时,ConvertMono不知怎么用的,找资料时,有人说ZLG_GUI用在单色屏上效果不错,(主要是在这看的http://www.amobbs.com/thread-5537948-1-1.html)
然后就开始移植。移植相当简单!!先简单上几张图
说一下移植
直接把ZLG_gui文件夹所有内容添加到工程中就行,头文件包含进入,main中加#include"config.h"就行,在GUI_config中宏定义要使用的功能,主要是有窗体,菜单什么的比较方便,配上MP3
模块做个小屏播放器简单显示应该够用了
现把工程上传,简单修改就能上MINI板子了main中自己弄了个窗体处理函数
/*
说明:
V1.0 2014/05/02 11:13 工程模板建立完成 基于V3.5固件库 BSP驱动包含LED
V1.1 增加uart4串口功能
*/
#include "sys.h"
#include "usart.h"
#include "delay.h"
#include "led.h"
#include "oled.h"
#include "config.h"
u8 head[]={"Win_XP"};
u8 text[]={"Well Done !"};
void BSP_Init(void);
void Win_Dis(u8 pos_x,u8 pos_y,u8 width,u8 high,u8 *headline,u8 *contain)
{
WINDOWS winxp;
winxp.x=pos_x;
winxp.y=pos_y;
winxp.with=width;
winxp.hight=high;
winxp.title=headline;
winxp.state=contain;
GUI_WindowsDraw(&winxp);
}
int main(void)
{
// u8 x=0,y=0;
SystemInit();
delay_init(72);
NVIC_Configuration();
//uart_init(9600);
BSP_Init();
//GUI_PutString(0,0,"Hello ZLG_GUI !");
Win_Dis(10,10,80,45,head,text);
while (1)
{
BSP_LED_Off(0);
delay_ms(200);
BSP_LED_Toggle(1);
delay_ms(100);
BSP_LED_Toggle(2);
delay_ms(100);
BSP_LED_Toggle(3);
// OLED_DrawPoint(x++,y++,1);
// if(x==64) {x=y=0;OLED_Fill(10,10,20,20,1);delay_ms(500);OLED_Clear();}
// OLED_Refresh_Gram();
GUI_Exec();
}
}
void BSP_Init(void)
{
BSP_LED_Init();
//OLED_Init();
GUI_Initialize();
GUI_SetColor(1,0);//此时是正常显示,若(0,1)则反色显示
}
仅以此抛砖引玉,希望有兴趣的朋友自己完善。写的不详细,楼主要为明天的 液压传动 准备小抄了,希望不会巧妙地避开各个考点。。。各位期末反围剿的同志,加油
|