既然闲着也是没有事情做,干脆还是写点东西吧。
今天还是 LCD 驱动的一个测试程序,是为应用程序添加显示位图的功能,具体就是读取 BMP 图片,然后再开发板的屏幕上显示出来!
下面是有关 BMP 的详细介绍可以看看,个人感觉写的非常的详细!
其相关的代码会严格按照上述介绍来组织的(bitmap 格式的图像文件会带有 54 字节的信息头,其中包含了图像和文件的基本信息,这些信息的组成部分是固定的,紧接着在头信息之后的便是实际的图像数据,可以通过 read 函数来读取)。
由于开发板的帧缓冲在驱动中被设置为 16 位数据表示一个像素点(16bpp),因此我们需要对 24 或者 32 位的位图进行转化,可以借鉴下面的函数:
static inline short transfer_to_16bit(char red, char green, char bule)
{
return ((red>>3)<<11) | ((green>>2)<<5) | (blue>>3);
}
static inline short bmp_get_pixel_16bit(bmp_t *bmp)
{
return transfer_to_1