size
LCD的size有三种可选:12——1206编码,16——1608,24——2412
清屏函数
void LCD_Clear(u16 color)
画方块
//在指定区域内填充指定颜色块
//(sx,sy),(ex,ey):填充矩形对角坐标,区域大小为:(ex-8x+l)\*(ey-sy+1)
//color:要填充的颜色
void LCD\_Color\_Fill(u16 sx,u16 sy,u16 ex,u16 ey,u16 \*color)
{
u16 height,width;
u16 i,j;
width=ex-sx+1; //宽度
height=ey-sy+1; //高度
for(i=0;i<height;i++)
{
LCD\_SetCursor(sx,sy+i);
LCD\_WriteRAM\_Prepare();
for(j=0;j<width;j++)
LCD->LCD_RAM=color[i\*width+j];
}
}
显示字符
1
void LCD\_ShowString(u16 x,u16 y,u16 width,u16 height,u8 size,u8 \*p)
width和height为显示范围的长宽,size同样是12/16/24三种选择,*p通常用变量取地址“eg:&a”
2
void Show\_Str(u16 x,u16 y,u16 width,u16 height,u8\*str,u8 size,u8 mode)
这个函数在text.c里面,作用:在指定位置开始显示一个字符串,支持自动换行,(x,y)是起始坐标,width,height是区域,str:字符串,size :字体大小,mode=0是非叠加方式、mode=1,叠加方式
显示数字的函数
//x,y:起点坐标
//num:数值(0~999999999);
//len:长度(即要显示的位数)
//size:字体大小
//mode://[7]:0,不填充;1,填充0.
//[6:1]:保留
//[0]:0,非叠加显示;1,叠加显示.
1,高位为0时不显示
void LCD\_ShowNum(u16 x,u16 y,u32 num,u8 len,u8 size)
{
u8 t,temp;
u8 enshow=0;
for(t=0;t<len;t++)
{
temp=(num/LCD\_Pow(10,len-t-1))%10;
if(enshow==0&&t<(len-1))
{
if(temp==0)
{
LCD\_ShowChar(x+(size/2)\*t,y,' ',size,0);
continue;
}
else
enshow=1;
}
LCD\_ShowChar(x+(size/2)\*t,y,temp+'0',size,0);
}
}
2,高位为0时依旧显示
收集整理了一份《2024年最新物联网嵌入式全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升的朋友。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人
都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!