昨晚通宵搞这个东西,依然未遂--!
现在贴出打印信息,请各位英雄帮忙分析一下:
FCLK:400000000, HCLK:133333333, PCLK:66666666
LCD_MODULE_TYPE == LCD_MODULE_LTE480WV
lcd_horizon_value = 799, lcd_line_value = 479
lcd_vbpd = 28, lcd_vfpd = 12, lcd_vspw = 2
lcd_hbpd = 39, lcd_hfpd = 39, lcd_hspw = 47, lcd_frame_rate = 30
hsync_cnt = 521 ++vclk_cnt = 924 ++
clkval = 4 ++++++++++++++++++++++++++++ 通过此公式计算:
clkval = (UINT8)(((float)S3C2450_HCLK/(float)(hsync_cnt*vclk_cnt*lcd_frame_rate*2))+0.5)-1;
clkval = 4;
InitDisplay LCD_MODULE_LTE480WV LCD_COLOR_DEPTH=16
InitDisplay-----------------------------------
MPLLCON=0x80640061
HCLKCON=0xFFFD9206
PCLKCON=0xFFFBFF82
SCLKCON=0xFFE1D7E0
BANKCFG=0x00049253
BANKCON1=0x44000040
BANKCON2=0x005D0035
BANKCON3=0x44000032
REFRESH=0x0000040D
.........
我看代码是要把clkval的值写到s2450LCD->VIDCON0寄存器中的第6位
其中S3C2450_HCLK通过打印信息得到是133333333
这样计算应该是正确的吧???
“总的来说,如果不是硬件问题,你的问题应该就是时序问题了。”
如果是时序问题,那除非
lcd_horizon_value = 799, lcd_line_value = 479
lcd_vbpd = 28, lcd_vfpd = 12, lcd_vspw = 2
lcd_hbpd = 39, lcd_hfpd = 39, lcd_hspw = 47, lcd_frame_rate = 30
这些值不对,可是,我看SPEC,看另外一个BSP都是这几个数,如果差也不会差这么多吧?? |