cr315 发表于 2021-10-26 10:47

关于12864液晶画点读写操作,求帮忙

下面函数里面的

Col_High = ((Start_Column>>4)&0x0f)+0x10;//定位列地址设置的高位
Start_Page =PAGE_BASE_ADDR+Start_Page;      //获得真实起始页地址

这几句话的意义是什么?具体意思是什么?表面的意思是Start_Column的低位值赋给Col_Low。而Start_Column的右移4为,为高位值赋给Col_High,为什么还要加0X10?这个查找高低位在液晶显示里面起到什么作用?(开辟地址空间?不像。)而后面又有使用这两个值的,如:
   LCM_Write_Command(Page); // 选择大列
    LCM_Write_Command(Col_High); // 写入起始行地址高四位
    LCM_Write_Command(Col_Low); // 写入起始行地址低四位
求帮助。具体函数如下。
void LCM_put_BMP(unsigned char Start_Page,
                  unsigned char Start_Column,
                  const unsigned char Buffer[],
                  unsigned char Width,unsigned char Height)
{
unsigned char Column,Page;
unsigned int tmp=0;
unsigned char Col_Low=0,Col_High=0; //定义列地址的高低位指令
unsigned char End_Page=0,End_Column=0; //定义结束页地址、列地址
if(Start_Page>MAX_PAGE)
      return; // 参数不合法,不绘图,直接返回
if(Start_Column>MAX_COLUMN)
      return; // 参数不合法,不绘图,直接返回

End_Page=Start_Page+(Height>>3);
if(End_Page>MAX_PAGE+1)// 防止绘图时溢出
   End_Page=MAX_PAGE;

End_Column=Start_Column+Width;
if(End_Column>MAX_COLUMN) // 防止绘图时溢出
   End_Column=MAX_COLUMN;

      Col_Low = (Start_Column&0x0f);      //定位列地址设置的低位
      Col_High = ((Start_Column>>4)&0x0f)+0x10;//定位列地址设置的高位

      Start_Page =PAGE_BASE_ADDR+Start_Page;      //获得真实起始页地址
End_Page = PAGE_BASE_ADDR+End_Page;      //获得真实结束页地址
for(Page=Start_Page;Page<end_page;page++)
   {
    LCM_Write_Command(Page); // 选择大列
    LCM_Write_Command(Col_High); // 写入起始行地址高四位
    LCM_Write_Command(Col_Low); // 写入起始行地址低四位
    // 每次循环列地址自动加一,所以不用重新设置列地址
    for(Column=0;Column<(End_Column-Start_Column);Column++)
         {//获得显示内容在数组中的偏移量
      tmp=(Page-Start_Page)*Width+Column;
      tmp=Buffer;//获得显示内容
      LCM_Write_Data(tmp); //每列写一个字节,对应点0灭,1亮
    }
}
}</end_page;page++)

MianQi 发表于 2021-10-28 21:24

查一下12864的Data Sheet,看里边是怎么说地。另外,粘贴代码不要用文本,用“代码”格式。发帖窗口的菜单栏里有按键入口。

pixhw 发表于 2021-11-3 13:49

直接划线就行了。      

sdlls 发表于 2021-11-3 13:49

楼主遇到了什么问题呢   

febgxu 发表于 2021-11-3 13:49

12864液晶画点读写操作难吗

xiaoyaodz 发表于 2021-11-3 13:49

把程序复制完整一点。

fentianyou 发表于 2021-11-3 13:49

这个不是图形吗

selongli 发表于 2021-11-3 13:50

灰色的图片吗   

minzisc 发表于 2021-11-3 13:50

只用过在彩色tft上划线了。

lzmm 发表于 2021-11-3 13:50

看看51单片机,有相关操作的。   

hudi008 发表于 2021-11-3 13:50

使用gui了吗   

kkzz 发表于 2021-11-3 13:50

lvlg可以实现这个功能。

febgxu 发表于 2021-11-3 13:50

页: [1]
查看完整版本: 关于12864液晶画点读写操作,求帮忙