12864求助
时间:10-02
整理:3721RD
点击:
使用12864显示16*32字符出现问题,希望大家帮忙看看什么问题,
显示大字符的时候有几个地方不正常,本人也想不出原由
![](../imgqa/ele/mcu/mcu-3721rd.com-3629951qbkqlm3eo.jpg)
单个字符显示的代码如下:
显示大字符的时候有几个地方不正常,本人也想不出原由
![](../imgqa/ele/mcu/mcu-3721rd.com-3629951qbkqlm3eo.jpg)
单个字符显示的代码如下:
- //==========================================================//
- // @ 函数名:LCD_DispMode
- // @ 功 能:显示16X32图形
- // @ 参 数:uchar x,uchar y,uchar *bmp
- // @ 说 明:横坐标X列,要显示的图形BMP
- //==========================================================//
- void WriteGDRAM( uint_8 X,uint_8 *bmp )
- {
- uint_8 i,BaseX;
- BaseX = 0X80+X-1;
- Write_Cmd(0x36);
- for( i=0;i<32;i++ ) //写入上半屏16行点阵
- {
- Write_Cmd(0X80+i); //先写入垂直位址,选上下32行的哪一行,不管上下半屏,第二行为0X90。
- Write_Cmd(BaseX); //(选上半屏)再写入水平位址
- Write_Data(*bmp++);
- Write_Data(*bmp++);
- }
- Write_Cmd(0x36); //写完数据,开图片显示
- }
已解决,横坐标地址写两次就完全正常,不知道为什么,参考别人的程序都是写一次