标题: 这程序里面的transfer_command(0x80+(y-3)*(0x10)+(x+7)是什么意思呢 [打印本页]

作者: 18624356506    时间: 2020-6-23 11:50
标题: 这程序里面的transfer_command(0x80+(y-3)*(0x10)+(x+7)是什么意思呢
void display_char(int y,int x,int char_length,uchar *p)
{
uchar i=0;
transfer_command(0x30);
delay(10);
//transfer_command(0x01);   
delay(10);
if(y<3)
{
  transfer_command(0x80+(y-1)*(0x10)+(x-1));
}
else
{
  transfer_command(0x80+(y-3)*(0x10)+(x+7));
}
for(i=0;i<char_length;i++)
{
  transfer_data(*p);
  p++;
  transfer_data(*p);
  p++;
}
}

这里面的 transfer_command(0x80+(y-3)*(0x10)+(x+7)是什么意思呢



作者: hsl32    时间: 2020-6-23 16:26
这个是根据显示驱动芯片的显示方式来的,主要是设置Y和X的起始地址满足Y>=3时的显示要求。提问要写清楚是什么型号的驱动芯片、什么屏,人家才能给你回答。
作者: zl98lb    时间: 2020-6-23 17:44
你这个应该是1602或12864的显示子程序,0x80表示设置显示地址的基地址,y是对应逻辑行,x对应逻辑列,y不小于3采用此式计算的显示地址写入数据
作者: 18624356506    时间: 2020-6-24 09:57
hsl32 发表于 2020-6-23 16:26
这个是根据显示驱动芯片的显示方式来的,主要是设置Y和X的起始地址满足Y>=3时的显示要求。提问要写清楚是什 ...

您好我这个是12864液晶屏





欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1