📄 hardware.h
字号:
#ifndef _HARDWARE_HEAD
#define _HARDWARE_HEAD
#include <stdio.h>
#include <cdefBf531.h>
#include <ccblkfn.h>
#include <sys/exception.h>
#include <string.h>
#define RGB char
#define BLACK_COLOR 0x00
#define WHITE_COLOR 0x01
#define HS_MASK 6
#define TA_LEFT 0
#define TA_RIGHT 1
#define TA_CENTER 2
//SDRAM显示存储区起始地址定义
#define XCNT 80 //Inner loop count for 2D DMA
#define YCNT 240//#define YCNT 262 //outer loop count for 2D DMA
#define X_RESOLUTION 80
#define Y_RESOLUTION 240
#define FRAME_SIZE XCNT*YCNT
#define SCREEN_SIZE X_RESOLUTION*Y_RESOLUTION
#define XMOD 1//#define XMOD 2 //because X_MODIFY is specified in bytes
#define YMOD 1//#define YMOD 2
#define FIELD_TOPPAD 19
#define PADOFSTART 0//(XCNT*FIELD_TOPPAD*XMOD)
#define FRAME_BUFFER1 (FrameBufferAddr1)
#define FRAME_BUFFER2 (FrameBufferAddr2)
struct CstDisplay
{
void (*ROP2)(RGB *, RGB); //写屏模式
char PenLine;
char PenNull; //画笔样式
short BrushStyle; //画刷样式
RGB BlkColor; //背景色
short Transparent;
short TxtHAlign; //文本水平对齐模式
short TxtVAlign; //文本垂直对齐模式
struct CstFont *pFont; //首选字体属性:用户选择语言
struct CstIcon *pBrush; //画刷点阵图属性
RGB * pMemory; //显示存储区
RGB * pScreen;
};
extern struct CstDisplay Display;
extern char FrameBufferAddr1[];
extern char FrameBufferAddr2[];
extern char DisplayBuffer[];
inline void SetScreenAddr(unsigned int addr)
{
Display.pScreen=(RGB *)addr;
}
inline void PasteMemory(void)
{
char *pDest;
const char *pSrc;
pDest=(char *)Display.pScreen;
pSrc=(const char *)Display.pMemory;
memcpy(pDest, pSrc, X_RESOLUTION*Y_RESOLUTION*2);
}
extern volatile short bFlushOver;
extern void InitDPT(void);
extern void UpdateLCD(void);
extern void InitInterrupt(void);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -