久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3038|回復: 0
打印 上一主題 下一主題
收起左側

STM32移植uCGUI筆記

[復制鏈接]
跳轉到指定樓層
樓主
ID:85681 發表于 2015-7-15 02:05 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
以下的工作都是建立在裸機正常顯示的情況下進行的,在移植前必須得裸機顯示進行測試,正常則往下做。
第一步:
        在網上下載uCGUI的完整源碼,里面有三個文件夾,“Start”、“Sample”、“Tool”,打開Start文件夾,把其中的GUI和Config拷貝到自己工程目錄下,其中GUI里面有11一個文件,這都是uCGUI的結構源碼。
第二步:
        在工程目錄下建立新的MDK工程,在把其中的結構源碼分別對應全部添加到工程中

其中uCGUI/Config中有三個文件GUIConf.h、LCDConf.h、GUI_X.c,如果所使用的是觸摸屛,需添加GUITouchConf.h
GUIConf.h的內容為(0為關,1為開):
#ifndef GUICONF_H
#define GUICONF_H
#define GUI_OS                                    (1)  /* Compile with multitasking support */               //支持操作系統
#define GUI_SUPPORT_TOUCH           (0)  /* Support a touch screen (req. win-manager) *//觸摸關閉
#define GUI_SUPPORT_UNICODE        (1)  /* Support mixed ASCII/UNICODE strings */       //支持ASCII碼
#define GUI_DEFAULT_FONT              &GUI_Font6x8 //默認字體,可調整
#define GUI_ALLOC_SIZE                    5000  /* Size of dynamic memory ... For WM and memory devices*/提供窗口的管理的內存

/*********************************************************************
*
*         Configuration of available packages
*/
#define GUI_WINSUPPORT                  1  /* Window manager package available */
#define GUI_SUPPORT_MEMDEV        1  /* Memory devices available */
#define GUI_SUPPORT_AA                  1  /* Anti aliasing available */
#endif  /* Avoid multiple inclusion *

LCDConf.h的內容為:
#ifndef LCDCONF_H
#define LCDCONF_H

#define LCD_XSIZE          (320)
#define LCD_YSIZE          (240)
#define LCD_CONTROLLER     (9320)   //液晶控制芯片型號
#define LCD_BITSPERPIXEL   (16)         //16位顯示格式
#define LCD_FIXEDPALETTE   (565)
#define LCD_SWAP_RB        (1)
//#define LCD_SWAP_XY        (1)
#define LCD_INIT_CONTROLLER()   LCD_MyInit()
#endif /* LCDCONF_H */

GUI_X.c的內容為:
#include "GUI.h"
#include "GUI_X.h"
#include "delay.h"
U32  GUI_X_GetTaskId(void) {return 0;}
void GUI_X_Lock(void) {;}
void GUI_X_Unlock(void) {;}
void GUI_X_InitOS(void) {;}
void GUI_X_Log(const char *s){}
void GUI_X_Warn(const char *s){}
void GUI_X_ErrorOut(const char *s){}
void GUI_X_ExecIdle(void) {;}
void GUI_X_Init(void) {;}
void GUI_X_Delay(int Period) {delay_ms(Period);}
int  GUI_X_GetTime(void) {return 0;}
  GUI_X.c的作用是避免編譯出錯。

第三步:
        接口函數的匹配,打開uCGUI/LCDDriver,當中有三個文件“LCDDummy.c”、“LCDNull.c”、“LCDWin.c”,另外在這個文件夾中加上自己液晶的驅動,一般都由廠家提供的,以ILI93xx.c為例。然后打開LCDDummy.c,在其中加入液晶驅動的頭文件ILI93xx.h,
最后將其中如下的函數替換成這樣
int LCD_L0_Init(void)
{  
  ili9320_Initializtion(); //液晶驅動的初始化
  return 0;
}
void LCD_L0_SetPixelIndex(int x, int y, int PixelIndex)
{
  ili9320_SetPoint(x,y,PixelIndex);//液晶驅動的換點函數
}
unsigned int LCD_L0_GetPixelIndex(int x, int y)
{
  return ili9320_GetPoint(x,y); //液晶驅動的獲取點的函數
}
void LCD_L0_SetOrg(int x,int y)
{
}
void LCD_L0_XorPixel(int x, int y)
{
  LCD_PIXELINDEX Index = ili9320_GetPoint(x,y);
  ili9320_SetPoint(x,y,LCD_NUM_COLORS-1-Index);
}
void LCD_L0_DrawHLine(int x0, int y,  int x1)
{
  GUI_Line(x0,y,x1,y,LCD_COLORINDEX); //液晶驅動的畫線函數
}
void LCD_L0_DrawVLine  (int x, int y0,  int y1)
{
  GUI_Line(x,y0,x,y1,LCD_COLORINDEX);
}

第四步:調用GUI函數測試,這里以“Hello uCGUI!”為例,主函數的源碼如下:
#include<stm32f10x_lib.h>
#include "gui.h"

int main(void)
{
    ALLConf_Init(void);  //芯片工作的必要配置,時鐘、引腳等
    GUI_Ini();  //初始化
    GUI_DispStringAt("Hello uCGUI!",100,100);
    while(1);
}

編譯下載后如果液晶上在(100.100)的位置上顯示“Hello uCGUI!”就說明移植成功了!


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 色婷婷国产精品综合在线观看 | 日本午夜网 | 国产一区二区三区四区 | 欧美日韩视频在线第一区 | 欧美一级片 | 欧美久久精品一级黑人c片 91免费在线视频 | 伊人网91| 精品久久99 | 久久精品中文字幕 | 精品一区二区三区免费毛片 | 99精品免费久久久久久久久日本 | 国产精品成人品 | 一区二区三区视频在线观看 | 日韩免费一级 | 黄色免费网站在线看 | 殴美黄色录像 | 精品国产乱码久久久久久图片 | 91精品久久久久 | 伊人免费在线观看 | 国产资源在线播放 | 久久精品91久久久久久再现 | 免费一级毛片 | 国产激情视频网 | 免费看一区二区三区 | av在线影院| 日韩一区二区三区在线 | 国产精品99久久久久久久久久久久 | 欧美视频| 国产成人免费视频网站视频社区 | 成人在线观| 99视频在线免费观看 | 最新中文字幕第一页视频 | 4h影视 | 午夜视频网站 | 男人的天堂久久 | 免费观看一级特黄欧美大片 | 国产精品久久久久久久久久免费看 | 欧美v日韩v| 最近日韩中文字幕 | 国产精品1区2区3区 欧美 中文字幕 | 99热播精品 |