第七章 LED将为我们闪烁:控制发光二极管

                                                                             第七章 LED将为我们闪烁:控制发光二极管

发光二极管的工作原理:发光二极管 它是半导体二极管的一种,可以把电能转化成光能;常简写为LED。发光二极管与普通二极管一样是由一个PN结组成,也具有单向导电性。当给发光二极管加上正向电压后,从P区注入到N区的空穴和由N区注入到P区的电子,在PN结附近数微米内分别与N区的电子和P区的空穴复合,产生自发辐射的荧光。不同的半导体材料中电子和空穴所处的能量状态不同。当电子和空穴复合时释放出的能量多少不同,释放出的能量越多,则发出的光的波长越短。常用的是发红光、绿光或黄光的二极管。

LED驱动的实现原理:linux驱动与硬件打交道的方式是与本届的I/O内存进行交互,I/O内存就是通过各种接口(PCIUSB、蓝牙、以太网接口等)连接到(PC、手机)的硬件(网卡、摄像头等)在主机上的映射,然后进行硬件交互。

编写LED驱动:创建LED驱动的设备文件:1.使用cdev_init函数初始化cdev2.指定设备号;3.使用cdev_add函数将字符设备添加到内核的字符设备数组当中;4.使用struct_create宏创建struct_class5.使用device_create函数创建设备文件。然后就是卸载LED驱动的设备文件,接下来设置寄存器与初始化LED驱动,最后控制LED

测试LED驱动:首先编写测试I/O控制命令的通用程序,然后NDK测试LED驱动程序,接下使用java代码测试,在这几步中要用到那两个代码文件路径。

LED驱动的移植:移植成功后就可以完美的控制LED4个小灯的亮灭啦!

 

posted @ 2016-06-05 13:51  1181810606  阅读(168)  评论(0编辑  收藏  举报