然后我做了如下修改:
将 LCD_PulseOnDurationConfig(LCD_PulseOnDuration_0);
改成 LCD_PulseOnDurationConfig(LCD_PulseOnDuration_7);
datasheet上有这样一段话解释这句:
The PON[2:0] (Pulse ON duration) bits in the LCD_CR2 register configure the time during
which RL is enabled (see Figure 55) through a HD (high drive) when the levels of common
and segment lines change. A short drive time decreases power consumption, but displays
with high internal resistance may need a longer drive time to achieve a satisfactory contrast.
The RL divider can be always switched on using the HD bit in the LCD_CR2 register.
The HD switch follows the rules described below:
● If the HD bit and the PON[2:0] bits in the LCD_CR2 are reset, then HD switch is open.
● If the HD bit in the LCD_CR2 register is reset and the PON[2:0] bits in the LCD_CR2
are different from 00 then, the HD switch is closed during the number of pulses defined
in the PON[2:0] bits.
● If HD bit in the LCD_CR2 register is 1 then HD switch is always closed.
我这样修改后就是增加了驱动时间,从而达到了较满意的对比度,测试看波形和看显示效果,果然很好,显示基本满足要求,没有鬼影。但这段话中也说了,延长驱动时间,会导致功耗增加,而我们的产品对功耗要求很高,我对这样的解决方案无法接受。请过来人指点下,怎么解决这个问题。感激不尽!