- void LCD_Refresh(){
- int i; //U32 lcddata;
- U16 pixcolor; //一个像素点的颜色
- U8* pbuf=(U8*)LCDBufferII2[0];
- U32 LCDBASEU,LCDBASEL,LCDBANK;
- for(i=0;i<LCDWIDTH*LCDHEIGHT;i++)
- {
- pixcolor=((pbuf[0]&0xf8)<<11)|((pbuf[1]&0xfc)<<6)|(pbuf[2]&0xf8);
- pbuf+=4;
- *(pLCDBuffer16I2+i)=pixcolor;
- }
- LCDBANK=0x32096000>>22;
- LCDBASEU=(0x32096000<<9)>>10;
- LCDBASEL=LCDBASEU+(480)*640;
- rLCDADDR1= (LCDBANK<<21)|LCDBASEU;
- rLCDADDR2=LCDBASEL;
- rLCDADDR3= (640)|(0<<11);
- }
上面代码是刷新函数代码,pixcolor是5:6:5的模式的颜色,这个颜色值怎样传给VD[23:0],是不是只要设置了LCDCON寄存器,就会自己映射到VD[23:19],VD[15:10],VD[7:3]???[