LCD编程_使用调色板
在前面的博客中,使用的像素格式都是16bpp,24bpp(24bpp实际实际上就是32bpp)?如果想使用8bpp时,就需要使用调色板。 在以前的博客中,曾经说过,在framebuffer中如果每个像素用8bpp表示,这8bpp怎么转换成lcd需要的16bpp的数据,需要引入一个调色板。 2的8次方,为256。即调色板中有256项,0-255。需要在调色板所对应的内存里面,填入16bpp的数据(这些数据就是真正的颜色值)。把lcd控制器设置为8bpp时,它会从framebuffer中取出一个像素的数据(8位),使用这8位数据作为一个索引,在调色板中取出真正的颜色,从而就得到了16位的数据。最终将这16位的数据发给lcd。 需要修改s3c2440_lcd_controller.c lcd_controller.c中的代码: 1 #include "lcd.h" 2 #include "lcd_controller.h" 3 #include "../s3c2440_soc.h" 4 5 #define HCLK 100 6 7 void jz2440_lcd_pin_init(void) 8 { 9 /* 初始化引脚 : 背光引脚 */ 10 GPBCON &= ~0x3; 11 GPBCON |= 0x01; 12 13 /* LCD专用引脚 */ 14 GPCCON =