昨晚疯狂的打了一夜的LOL,感觉L多了,今天一天精神萎靡.还是继续把显示字符给看了,但是在犹豫要不要写这篇文章
其实写的东西也就是copy别人家的代码,不想写那么多,就记录下自己困惑的地方吧.或许改天回来看的时候能让自己快速的明白
也或许能帮助到有些朋友..
看了奋斗给的例子和偷偷去下了正点原子的例子,其实都是差不多的,只要稍微改下都可以通用的,原理就在那里,跑不了.
奋斗给的例子,都是人家的
void lcd_wr_zf(u16 StartX, u16 StartY, u16 X, u16 Y, u16 Color, u8 Dir, u8 *chr)
{ unsigned int temp=0,num,R_dis_mem=0,Size=0,x=0,y=0,i=0;
if(Dir==2) LCD_WR_CMD(0x0003,0x1010); //图像显示方向为右下起 行递减 列递增 AM=0 I/D[1:0]=00 <--
else if(Dir==3) LCD_WR_CMD(0x0003,0x1028); //图像显示方向为右上起 行递减 列递增 AM=1 I/D[1:0]=10 V
if(Dir==0){
LCD_WR_CMD(0x0003,0x1030); //图像显示方向为左上起 行递增 列递增 AM=0 I/D[1:0]=11 -->
LCD_WR_CMD(0x0210, StartX); //水平显示区起始地址 0-239
LCD_WR_CMD(0x0211, StartX+X-1); //水平显示区结束地址 0-239
LCD_WR_CMD(0x0212, StartY); //垂直显示区起始地址 0-399
LCD_WR_CMD(0x0213, StartY+Y-1); //垂直显示区结束地址 0-399
LCD_