可以给解释一下这两句程序吗?

2019-07-15 15:50发布

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));
}
这里面的四句话是同一个函数,为什么前两句能把低字节清零呢,后两句能把高字节清零呢???     

程序如图 程序如图
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
给你一个冷布丁
1楼-- · 2019-07-15 17:41
x_bit < 8   这个判断,就说明,x_bit < 8是低位,否则是高位。进入地位的判断语句,肯定是把低位清零了。建议楼主点开这个函数看一下
天外飞天
2楼-- · 2019-07-15 23:19
给你一个冷布丁 发表于 2015-10-25 21:30
x_bit < 8   这个判断,就说明,x_bit < 8是低位,否则是高位。进入地位的判断语句,肯定是把低位清零了。建议楼主点开这个函数看一下

lcd_write_data(0x01<<7-xbit));
lcd_write_data(0x00);
这两个语句,第二个语句不把高位和地位全清零了吗?
给你一个冷布丁
3楼-- · 2019-07-16 05:14
 精彩回答 2  元偷偷看……
bobo2021
4楼-- · 2019-07-16 08:41
lcd_write_data()
的具体内容要放出来看一下的
greenery
5楼-- · 2019-07-16 14:21
lu guo lilan xia,楼主加油啊!!
天外飞天
6楼-- · 2019-07-16 20:10
给你一个冷布丁 发表于 2015-10-25 22:44
对,但是 lcd_write_data(0x01

还是不理解if里的语句

一周热门 更多>