原子大哥和各位大神,我在分析原子大哥的TFTLCD显示实验的代码时,有些疑问,麻烦大家帮忙解答一下,谢谢~
我用的是4.3寸的TFTLCD,原子哥的代码我一点都没改,
我先做的实验,就是LCD_Display_Dir(0);
//默认为竖屏的时候,
一步步运行代码,发现此时lcddev.width=480,lcddev.height=800,此时扫描方向为从左到右,从上到下
改为LCD_Display_Dir(1);
//默认为横屏的时候,
一步步运行代码,发现此时lcddev.width=800,lcddev.height=480,此时扫描方向为从下到上,从左到右
如下图所示:
我现在的疑问是:
1。扫描方向怎么和lcddev.width(x坐标),lcddev.height(y坐标)配合呢?
lcddev.width=480,lcddev.height=800的时候,为什么就知道x坐标轴是480这个方向,y坐标轴就是800这个方向???
lcddev.width=800,lcddev.height=480的时候,为什么就知道x坐标轴是800这个方向,y坐标轴就是480这个方向???
虽然程序中是有设置x坐标起点与终点、y坐标起点与终点,程序如下,但是LCD是怎么知道横屏与竖屏的x坐标轴与y坐标轴要换呢?
if(lcddev.id==0X5510)
{
LCD_WR_REG(lcddev.setxcmd);LCD_WR_DATA(0);
LCD_WR_REG(lcddev.setxcmd+1);LCD_WR_DATA(0);
LCD_WR_REG(lcddev.setxcmd+2);LCD_WR_DATA((lcddev.width-1)>>8);
LCD_WR_REG(lcddev.setxcmd+3);LCD_WR_DATA((lcddev.width-1)&0XFF);
LCD_WR_REG(lcddev.setycmd);LCD_WR_DATA(0);
LCD_WR_REG(lcddev.setycmd+1);LCD_WR_DATA(0);
LCD_WR_REG(lcddev.setycmd+2);LCD_WR_DATA((lcddev.height-1)>>8);
LCD_WR_REG(lcddev.setycmd+3);LCD_WR_DATA((lcddev.height-1)&0XFF);
}
2、我改为LCD_Display_Dir(1); //默认为横屏的时候,我发现这个显示效果有点不太自然,实在想不明白是为什么??
附件是我拍的视频
---------------------------------
原子大哥,我2楼,3楼的内容您帮我看看我的理解是不是对的啊?
一周热门 更多>