第七章 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/