LCD横屏时代码解析:Xpos=lcddev.width-1-Xpos

2019-07-20 10:23发布

LCD在进行竖屏与横屏转换时会执行如下代码:
if(lcddev.dir==1)Xpos=lcddev.width-1-Xpos;//横屏时处理
  LCD_WR_REG(lcddev.setxcmd);
  LCD_WR_DATA(Xpos>>8);LCD_WR_DATA(Xpos&0XFF);
  LCD_WR_REG(lcddev.setycmd);
  LCD_WR_DATA(Ypos>>8);LCD_WR_DATA(Ypos&0XFF);
  
如何来理解这段代码,首先我们来看看初始状态下的情况是,如图1(黄 {MOD}部分为显示内容)。
图1 图1
那么在执行代码:Xpos=lcddev.width-1-Xpos ,后状态变为图2,(黄 {MOD}虚线部分为转换后显示内容)。
图2 图2
最后我们将屏幕横置,形成的效果如图3(黄 {MOD}部分为最终显示内容)。
图3 图3
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。