OLED模块移植ZLG_GUI!!

2019-07-20 23:57发布

前段时间买了本《uCOS——III》书,然后看书上介绍的官方eval——board挺好,可惜只能买到中国版的,stm32f107vct6,互联型,板载功能不多:USB_OTG+micro_SD座+选配串口WIFI+ CAN+以太网接口,总觉得少点啥!(板子上竟然只有一个按键,还是复位的。。。)于是先自己加了个串口通信,然后觉得得加个显示才行,猛然发现,原子哥的LOED模块太好了,放到拓展区简直绝配, {MOD}调都一致,OLED用IIC死活不亮,最后放弃了,用了四线SPI,搞好后觉得屏太小,用8*16的字还显大,懒得自己弄字摸,记得uCGUI里有4*6字体,就想在单 {MOD}屏上移植个GUI,UCGUI 移植时,ConvertMono不知怎么用的,找资料时,有人说ZLG_GUI用在单 {MOD}屏上效果不错,(主要是在这看的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)则反 {MOD}显示  
}
仅以此抛砖引玉,希望有兴趣的朋友自己完善。写的不详细,楼主要为明天的 液压传动 准备小抄了,希望不会巧妙地避开各个考点。。。各位期末反围剿的同志,加油
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。