微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 可以给解释一下这两句程序吗?

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

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

程序如图


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里的语句

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top