zoukankan      html  css  js  c++  java
  • 第七章 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个小灯的亮灭啦!

  • 相关阅读:
    php中常用的4种运行方式
    vue前后端分离项目,使用宝塔面板解决跨域问题,设置Nginx反向代理
    通过 Nginx 代理转发配置实现跨域(API 代理转发)
    ajax跨域,这应该是最全的解决方案了
    vue项目打包之后怎么在本地运行
    webpack打包vue项目之后生成的dist文件该怎么启动运行
    PHP7 windows增加自定义扩展和编译PHP源代码
    编写php自定义扩展
    PHP 扩展开发初探
    php实现伪静态以及定义原理
  • 原文地址:https://www.cnblogs.com/chen06/p/5560654.html
Copyright © 2011-2022 走看看