这整个星期都在写lcd的驱动 ,download 到开发板上uart没问题,lcd显示一直闪烁,怀疑是frame rate帧频率设置错误了,但是download 源代码编译的bin没问题,(两者参数设置一样),只好重新理一理思路,从头开始吧。
1.关于lcd的一些参数说明。(2400芯片说明书)480*270
HOZVAL=行象素数-1,对应480
LINEVAL=列像素数-1,对应270
VCLK=HCLK/[(CLKVAL+1)*2]
(开发板LCD要求9.xxmhz<=vclk<=15mhz)
Frame Rate = 1/ [ { (VSPW+1) + (VBPD+1) + (LIINEVAL + 1) + (VFPD+1) } x {(HSPW+1) + (HBPD +1)+ (HFPD+1) + (HOZVAL + 1) } x { 2 x ( CLKVAL+1 ) / ( HCLK ) } ]
16bpp mode
vd[23:19]=red,vd[15:10]=green,vd[7:3]=blue 5:6:5 mode,
in the ram,a half word save a pixel.
void pixel(uint16 x,uint16 y,uint32 color)//cloro:0xaarrggbb ->5:6:5
{
uint8 red,green,blue;
uint16 *addr = (uint16*)fb_base_addr + (y * xsize + x);
//a half word save a pixel
}
8个lcd控制寄存器
LCDSADDR2 = LOWER21BITS(LCDFRAMEBUFFER)+(LINEVAL_TFT_240320+1)*(LCD_XSIZE_TFT_240320);
画像素算法:
void PutPixel(uint16 x,uint16 y,uint32 color)//cloro:0xaarrggbb ->5:6:5
{
if((x
}