ARM9160*160液晶屏驱动

时间:2014-04-03 12:06:42
【文件属性】:

文件名称:ARM9160*160液晶屏驱动

文件大小:1.01MB

文件格式:RAR

更新时间:2014-04-03 12:06:42

160*160

ARM9的160*160液晶屏驱动。 一、 驱动使用方法: 1、 编译内核:将hgo.c复制到linux内核下drivers/char 目录,修改drvers/char/Makefile 在 obj-$(CONFIG_AT91_LED) += at91_led.o 一句之后,添加: obj-y += hgo.o 重新编译内核,驱动即可编译进内核。 2、建立设备节点:重新烧写内核后,进入系统终端,执行 #mknod /dev/hgo c 227 0 3、使用应用程序访问内核: 可以用如下方式写应用程序: int fd; fd = open (“/dev/hgo”, O_RDWR); ioctl(fd, IOCTL_LCD_RESET, 0); //read(fd, *buf, count); //write(fd, *buf, count); 详细应用程序写法可参考主板上其他设备测试程序。 二、 驱动程序说明: 1、 初始化:系统加载驱动时,会执行hgo_init_module()函数,再此函数中可以执行一些初始化的操作,目前驱动中该函数执行的操作为: a) 映射内存。 b) 配置EBI总线 c) 设置屏的复位管脚为高电平(屏的复位管脚定义为: #define PIN_RESET AT91_PIN_PB20,可根据自己的设计修改)。 d) 注册设备 2、 对屏的硬件操作: 对屏的操作,为以下4个函数: /* write data */ static void write_data(unsigned char data) { writeb( data, lcdbase + 4); } /* write instuction */ static void write_ins(unsigned char ins) { writeb( ins, lcdbase); } /* read data */ static unsigned char read_data(void) { return readb(lcdbase + 4); } /* read instruction */ static unsigned char read_ins(void) { return readb(lcdbase); } 总线上有读写两个操作,通过屏的管脚A0的不同,又有数据和指令两种。 3、 应用程序接口:应用程序接口函数有3个 device_read(); device_write(); hgo_ioctl(); 当应用程序执行read() write() ioctl() 时会分别调用到这三个函数。


【文件预览】:
hgo160160
----屏脚的定义.txt(624B)
----hgo160160驱动说明.doc(32KB)
----HGO1601601-F-LWH-LSV.pdf(1.51MB)
----hgo.c(4KB)

网友评论