Randy 发表于 2012-8-26 21:24
其实这个问题,我告诉你,那就是硬件装屏的时候没装好,或者屏坏了!与软件无关!
新买来的模块到了,重新做了这个试验,得到了一些奇怪的结论。
1.新模块一开始也出现了上面的问题,如图
想啊,应该不会又坏了吧,这样人品也太差了,于是研究程序,最后将一行代码改动了一下,
改动前的代码
void LcdInitialise(void)
{
pinMode(PIN_SCE, OUTPUT);
pinMode(PIN_RESET, OUTPUT);
pinMode(PIN_DC, OUTPUT);
pinMode(PIN_SDIN, OUTPUT);
pinMode(PIN_SCLK, OUTPUT);
digitalWrite(PIN_RESET, LOW);
digitalWrite(PIN_RESET, HIGH);
LcdWrite(LCD_CMD, 0x21); // LCD Extended Commands.
LcdWrite(LCD_CMD, 0xBf); // Set LCD Vop (Contrast). //B1
LcdWrite(LCD_CMD, 0x04); // Set Temp coefficent. //0x04
LcdWrite(LCD_CMD, 0x14); // LCD bias mode 1:48. //0x13
LcdWrite(LCD_CMD, 0x0C); // LCD in normal mode. 0x0d for inverse
LcdWrite(LCD_C, 0x20);
LcdWrite(LCD_C, 0x0C);
}
改动后
将0x14改为0x11,然后。。。。然后居然好了,如图
2.这个时候在想,上次的那个屏幕或许没有坏,结果仍旧,百思不得其解,准备拆了,也许屏幕就是坏了,没有断电就把GND拔了,然后奇迹出现了
居然正常显示了
3.将上面代码0x11改为0x15,又恢复不正常了,这个时候将拔掉的GND插到VIN,奇迹又出现了
虽然背光是没有了,但是显示正常了
4.继续瞎搞,将代码改为0x08,一切又恢复正常了,这个时候GND是断开的,如果接VIN,那么就是没有任何显示
5.奇怪的事情还在继续,将GND连接GND,然后出现了
一开始看不出什么,将背光调暗,会发现一些条纹出现了。
现在才发现这真是一块神奇的屏幕,软件和硬件充分的结合在了一起,而且VIN和GND的不同接法居然和代码息息相关。
|