第七章 LED为我闪烁,控制发光二极管 心得体会

时间:2021-05-23 16:32:59

第七章 LED为我闪烁,控制发光二极管

心得体会

通过学习Android深度探索(卷1)HAL与驱动开发的第七章 LED为我闪烁 控制发光二极管,我掌握了LED驱动开发基本原理。这就启示我能否在此基础上进行修改使其变为一个呼吸灯。以下我对本章学习后所掌握的基本要领。

在通过驱动控制LED灯的开始我们需要创建LED驱动的设备文件:

第一步:使用cdev-init函数初始化cdev

第二步:指定设备号

第三步:使用cdev-add函数将字符设备添加到内核中的字符设备数组中

第四步:使用class-create宏创建struct class

第五步:使用device creat函数创建设备文件

而在卸载LED驱动的设备文件是,需要依次调用device-destory、class-destory、和unregistor-chrder-region(dev__t from,.unsigned count)

设置寄存器与初始化LED驱动须知:

LED有两个引脚GPB0和GPB1;

     控制LED需要通过3个寄存器来完成;

     每一个寄存器可以使用4个字节;

     使用GPMCON寄存器的低16位将LED的两个端口的属性设为Output;

     使用GPMDAT寄存器的低4位控制LED的亮灭;

     使用GPMPUD寄存器的低8位分别打开LED灯的上拉电路。

 

LED驱动可以使用两种方法控制驱动:1、通过字符串控制LED

                                  2、通过I/O命令控制LED

LED驱动测试方法不仅可以向LED设备文件发送字符串,还可以发送I/O控制命令。这些测试方法包括可执行程序测试,NDK测试和Java测试。

 

 

http://www.cnblogs.com/yun123456/