⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 framebuffer.c

📁 ARM嵌入式常用模块的原理图和源码
💻 C
字号:
												//GUICOM为命令地址
#define GUICOM((uchar*)0x03604000)
												//GUIDATA为数据地址
#define GUIDATA((uchar*)0x03604001)
												//ARM对GUI命令
void wcom(char com)
{
	char *p_guic,temp;
	p_guic=GUICOM;
	temp=com;
	*p_guic=temp;
}

void wdata(char dat)
{
	char *p_guid,temp;
	p_guid=GUIDATA;
	temp=dat;
	*p_guid=temp;
}

void GUIinit(void)
{
	char i,j;
	char const systab[8]=(Ox30,0x87,OxO7,Ox27,Ox42,Oxf0,Ox3O,OxOO};
	char const
	scrtab[10]={0x00,0x00,OxfO,0x00,Ox4O,Oxf0,OxOO,Ox8O,OxOO,OxOO};
												//设置显示频率、显示行数等
	wcom(Ox40);
	for(i=O;i<8;i++)
	wdata(syrtab[i]);
												//设置Frame-buffer首地址
	wcom(Ox44);
	for(j=0;j<10;j++)
	wdata(scrtab[j]);
												//设置画面的水平移动量为0
	wcom(Ox5a);
	wdata(Ox00);
												//设置显示区为图形,合成方式为或逻辑
	wcom(Ox5b);
	wdata(Ox00);
												//显示
	wcom(Ox59);
	wdata(Ox54);
}
void GUIcrl()
{
		unsigned int i,j;
		wcom(Ox4c);
		wcom(Ox46);
		wdata(Ox00);
		wdata(Ox00);
		wcom(Ox42);
		for(i=O;i<240;i++)
		for(j=0;j<40;j++)
		wdata(Ox00);
		wcom(Ox46);
		wdata(Ox00);
		wdata(Ox00);
}

void display(uchar x,uchar y uchar const *m)
{
		uchar i;
		uchar temp;
		unsigned int z,cursorh,cursorl;
													//0x4000为Frame-buffer首地址
		z=x*40+y+0x4000;
		cursorh=z/256;
		cursorl=z%256;
		wcom(Ox4f);
		wcom(Ox46);
		wdata(cursorl);
		wdata(cursorh);
							
		wcom(Ox42);
		for(i=O;i<8;i++)
		{
			temp=*(m+i);
			wdata(temp);
		}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -