資源簡介
完成了基于RA8875自身繪圖功能的文字顯示、多邊形顯示以及觸摸屏控制等功能。本程序基于SK-M32F407開發(fā)板,LCD為RA8875驅(qū)動的800x480屏幕。由于硬件可能有所不一致,需要經(jīng)過改動才能移植成功到目標(biāo)板上。特別注意的是,我所用的LCD的制作者不知為何故意將R和G的信號線調(diào)反了(具體可以看LCD的原理圖我有上傳),故本程序的色序為BGR,而不是RA8875默認(rèn)的RGB。
代碼片段和文件信息
#include?“LCD_8875.h“
#define?ABS(X)??((X)?>?0???(X)?:?-(X))
typedef?struct
{
????__IO?uint16_t?LCD_RAM;
????__IO?uint16_t?LCD_REG;
}?LCD_TypeDef;
/*?Note:?LCD?/CS?is?NE3?-?Bank?3?of?NOR/SRAM?Bank?1~4?*/
#define?LCD_base???????????((uint32_t)(0x60000000?|?0x08000000))
#define?LCD????????????????((LCD_TypeDef?*)?LCD_base)
#define?LCD_WairForProc()??while?((LCD->LCD_REG)&0x80)
static?void?FSMC_Init(const?LCD_DRIVE_SPEED&?Speed);
static?void?RA8875_Initial(void);
static?void?LCD_Reset(void);
void?Display_ON(void);
static?void?LCD_Mode8080(void);
inline?static?uint16_t?LCD_ReadReg(uint8_t?LCD_Reg)
{
??/*?Write?16-bit?Index?(then?Read?Reg)?*/
??LCD->LCD_REG?=?LCD_Reg;
??/*?Read?16-bit?Reg?*/
??return?(LCD->LCD_RAM);
}
inline?static?void?LCD_WriteRAM_Prepare(void)
{
LCD->LCD_REG?=?0x02;
}
static?void?delay(__IO?uint32_t?nCount)
{
????__IO?uint32_t?index?=?0;
????for?(index?=?(100000?*?nCount);?index?!=?0;?index--)
????{
????}
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????23466??2013-02-05?22:52??lcd\LCD_8875.cpp
?????文件???????8262??2013-02-11?01:02??lcd\LCD_8875.h
?????目錄??????????0??2013-02-11?01:02??lcd
????......R?????88455??2012-04-28?17:16??SK-LCD04_05_06.pdf
-----------?---------??----------?-----??----
???????????????120183????????????????????4
- 上一篇:俄羅斯方塊源碼C++
- 下一篇:教學(xué)計劃編制 C++
評論
共有 條評論