📄 50926163998f001d1bc0efe2c8487106
字号:
#include <io.h>
#include "GUI.h"
#include "system.h"
#include "alt_types.h"
#include <math.h>
#include "stdio.h"
alt_u32 FRAME_BUFFER;
alt_u32 FRAME_LENGTH;
alt_u32 START_REG;
alt_u32 CURRENT_COLOR;
static alt_u32 base = LCD_INTERFACE_0_BASE;
static alt_u32 SDRAM_FRAMEBUFFER_ADDRESS = (SDRAM_0_BASE + 10000);
//设置颜色
void setColor(alt_u32 colorValue)
{
IOWR_32DIRECT(base,0,colorValue);
CURRENT_COLOR = colorValue;
}
//设置屏幕横宽
void setFrameLength(alt_u32 frameLength)
{
IOWR_32DIRECT(base,4,frameLength);
FRAME_LENGTH = frameLength;
}
//开始传输标志
void setStartReg(alt_u32 startReg)
{
IOWR_32DIRECT(base,8,startReg);
START_REG = startReg;
}
//帧缓存地址
void setFrameBuffer(alt_u32 frameBuffer)
{
IOWR_32DIRECT(base,12,frameBuffer);
FRAME_BUFFER = frameBuffer;
}
//初始化屏幕操作
void init_lcd()
{
int i;
for(i = 0;i < 223938;i++){
IOWR_8DIRECT(SDRAM_FRAMEBUFFER_ADDRESS,i,55);
}
setFrameBuffer(SDRAM_FRAMEBUFFER_ADDRESS);
setFrameLength(957);
setStartReg(1);
}
//描点
void drawPixel(alt_u16 x,alt_u16 y)
{
alt_u32 pix_addr = FRAME_BUFFER + (y * FRAME_LENGTH + x*3) + 2;
IOWR_8DIRECT(pix_addr,0,CURRENT_COLOR);
IOWR_8DIRECT(pix_addr,1,CURRENT_COLOR>>8);
IOWR_8DIRECT(pix_addr,2,CURRENT_COLOR>>16);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -