这一节,主要实现在LCD上左上角显示两行字符
参考:http://liu1227787871.blog.163.com/blog/static/2053631972012628101423971/
1 代码如下
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <sys/ioctl.h>
#include <sys/mman.h>
//#include <sys/types.h>
//#include <sys/stat.h>
#include <unistd.h>
#include <stdio.h>
#include <linux/fb.h>
#include <string.h>
#include <math.h>
#include <wchar.h>
#include <ft2build.h>
#include FT_FREETYPE_H
#include FT_GLYPH_H
int fd_fb = 0;
struct fb_var_screeninfo fb_var;
struct fb_fix_screeninfo fb_fix;
int screen_size = 0;
unsigned char* fb_mem;
int line_width;
int pix_width;
void lcd_put_pixel(int x, int y, unsigned int color)
{
unsigned char *pen_8 = (unsigned char*)(fb_mem+y*line_width+x*pix_width);
unsigned short *pen_16;
unsigned int *pen_32;
pen_16 = (unsigned short*)pen_8;
pen_32 = (unsigned int*)pen_8;
unsigned char red,green,blue;
switch(fb_var.bits_per_pixel)
{
case 8:
*pen_8 = color;
break;
case 16:
red = (color >>16)&0xff;
green = (color>>8)&0xff;
blue = (color>>0)&0xff;
color = ((red>>3)<<11)|((green>>2)<<5)|((blue>>3)<<0);
*pen_16