找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1942|回复: 3
收起左侧

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

[复制链接]
ID:766184 发表于 2020-6-23 11:50 | 显示全部楼层 |阅读模式
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)是什么意思呢


回复

使用道具 举报

ID:767423 发表于 2020-6-23 16:26 | 显示全部楼层
这个是根据显示驱动芯片的显示方式来的,主要是设置Y和X的起始地址满足Y>=3时的显示要求。提问要写清楚是什么型号的驱动芯片、什么屏,人家才能给你回答。
回复

使用道具 举报

ID:787942 发表于 2020-6-23 17:44 | 显示全部楼层
你这个应该是1602或12864的显示子程序,0x80表示设置显示地址的基地址,y是对应逻辑行,x对应逻辑列,y不小于3采用此式计算的显示地址写入数据
回复

使用道具 举报

ID:766184 发表于 2020-6-24 09:57 | 显示全部楼层
hsl32 发表于 2020-6-23 16:26
这个是根据显示驱动芯片的显示方式来的,主要是设置Y和X的起始地址满足Y>=3时的显示要求。提问要写清楚是什 ...

您好我这个是12864液晶屏
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表