本人刚接触ARM,最近网上下的例程学习用LPC2478自带LCD控制器驱动4.3TFT,例程中有设置像素点颜色、清屏函数 如下:
//////////////////////////////////////////////////
#define SECTION_X(x, y) x
#define SECTION_Y(x, y) y
/////////////////////////////////////////////////////
extern __align(8) volatile unsigned short LCD_BUFFER[272][480];
///////////////////////////////////////////////////////
#define lcd_SetPixel(x, y, uicolor) \
do { \
if((x < 480) && (y < 272)) { \
LCD_BUFFER[SECTION_Y(x, y)][SECTION_X(x, y)] = (unsigned short)uicolor; \
} \
} while (0)
///////////////////////////////////////////////////////////////////////////////////////
void lcd_Clear (unsigned int uicolor)
{
int ix, iy;
for (iy = 0; iy <272; iy++) {
for (ix = 0; ix < 480; ix++) {
LCD_BUFFER[SECTION_Y(ix, iy)][SECTION_X(ix, iy)] = (unsigned short)uicolor;
}
}
}
这两个个函数并未操作LPC相关寄存器啊,他是怎么讲数据传到TFT上的。。。。
还有 我手头有块LG4.3TFT液晶 他的datasheet里只提供了一个Blank Period 我知道 Blank Period = Back porch+Front porch+Pulse width
但是这三个 “Back porch” “Front porch” “Pulse width”咋算出来
新手茫茫然探索中........还望各位高手有使用过的高手不吝赐教!!
不胜感激。。。。。。
|