本帖最后由 oner 于 2014-5-2 12:52 编辑
大虾们,小弟不才。在看5110的相关函数时,有一个问题不解,请大家帮我解惑。
下面这个函数是网上找的IO口仿SPI的函数。
为什么if(dt&0x80)这里为什么要用数据&0x80?我在5110datasheet里面看了相关寄存器设置也没看出个所以,小弟不才,请大家帮忙。
void LCD_write_byte(unsigned char dt, unsigned char command)
{
unsigned char i;
sce=0; //芯片使能
dc=command; //数据或命令
for(i=0;i<8;i++)
{
if(dt&0x80)
sdin=1;
else
sdin=0;
dt=dt<<1;
sclk=0;
sclk=1;
}
dc=1; //拉高:数据
sce=1;//不使能
sdin=1;//数据线拉高
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>