可以给解释一下这两句程序吗?
时间:10-02
整理:3721RD
点击:
if (x_bit < 8) //如果x_bit位数小于8
{
lcd_write_data(0x01 << (7 - x_bit)); //写高字节。因为坐标是从左向右的 //而GDRAM高位在左,底位在右
lcd_write_data(0x00); //低字节全部填0
}
else
{
lcd_write_data(0x00); //高字节全部填0
lcd_write_data(0x01 << (15 - x_bit));
}
这里面的四句话是同一个函数,为什么前两句能把低字节清零呢,后两句能把高字节清零呢?
{
lcd_write_data(0x01 << (7 - x_bit)); //写高字节。因为坐标是从左向右的 //而GDRAM高位在左,底位在右
lcd_write_data(0x00); //低字节全部填0
}
else
{
lcd_write_data(0x00); //高字节全部填0
lcd_write_data(0x01 << (15 - x_bit));
}
这里面的四句话是同一个函数,为什么前两句能把低字节清零呢,后两句能把高字节清零呢?
程序如图
x_bit < 8 这个判断,就说明,x_bit < 8是低位,否则是高位。进入地位的判断语句,肯定是把低位清零了。建议小编点开这个函数看一下
lcd_write_data(0x01<<7-xbit));
lcd_write_data(0x00);
这两个语句,第二个语句不把高位和地位全清零了吗?
对,但是 lcd_write_data(0x01 << (15 - x_bit)); 这句写了低字节。应该是注释没对说清楚
lcd_write_data()
的具体内容要放出来看一下的
lu guo lilan xia,小编加油啊!
还是不理解if里的语句