一 LED驱动的实现原理 尽管Linux驱动直接与硬件打交道,但并不是Linux驱动直接向硬件中的内存写数据,而是与本机的I/O内存进行交互。每一个连接Linux的硬件在I/O内存中都会有映射首地址,开发板上的LED也有其映射首地址。 二 编写LED驱动 第一步:使用cdev_init函数初始化cd ...
分类:
其他好文 时间:
2016-06-02 09:50:56
阅读次数:
124
裸机下控制LED灯非常方便,只需要配置好GPIO引脚功能,然后向GPIO引脚映射的内存地址处写入数据即可,但linux下驱动就不那么简单了,需要结合字符设备驱动的架构,然后将功能实现添加进去,笔者参考linux设备驱动程序(第三版)中介绍的新的接口来实现驱动。友善之臂官网提供的源码是基于miscde ...
分类:
其他好文 时间:
2016-06-02 00:50:50
阅读次数:
162
所谓I/O内存是通过各种接口连接到主机的硬件在主机内存的映射。LED驱动还提供了两种交互方式:命令和读写设备文件。 创建设备文件的步骤: 第1步:使用cdev_init函数初始化cdev 第2步:指定设备号 Linux设备文件的设备号分为主设备号和次设备号,其中前12位表示主设备号 ,后20位表示次 ...
分类:
其他好文 时间:
2016-05-31 23:49:15
阅读次数:
139
现在对我来说,单片机的功能就是控制一串发光二极管发光或者熄灭。。。初学。。。 在对I/O口控制时需要用到 延时 for循环延时函数 void ytime() //声明ytime函数 延时原理单片机执行for语句需要一定的时间 { unsigned int i,n; //定义无符号型的int变量 i ...
分类:
其他好文 时间:
2016-05-31 01:02:57
阅读次数:
114
LED将为我闪烁:控制发光二极管 一.编写LED驱动 创建LED驱动的设备文件 1.使用cdev_init函数初始化cdev cdev结构体 struct cdev{ struct kobject kobj; struct module *owner; const struct file_opera ...
分类:
移动开发 时间:
2016-05-30 00:52:14
阅读次数:
249
可见光通信技术(Visible Light Communication,VLC)是指利用可见光波段的光作为信息载体,不使用光纤等有线信道的传输介质,而在空气中直接传输光信号的通信方式。LED可见光通信是基于可见光发光二极管(Light Emitting Diode,LED)比荧光灯和白炽灯切换速度快 ...
我们可以把平板显示器分为两类:发射显示器(emissive display)和非发射显示器(nonemissive display )。发射显示器是将电能转换为光能的设备。等离子体显示板、薄膜光电显示器以及发光二极管都是发射显示器的实例。平板CRT也已发明出来,其中的电子束以平行于屏幕的方向加速,然后偏转90轰击屏幕。但是,还未证实平板CRT同其他发射设备一样可以实际应用。非发射显示器利用光学效应将太阳光或来自某些其他光源的光转换为图形模式。液晶设备是非发射平板显示器的最重要的例子。...
分类:
其他好文 时间:
2016-04-09 12:24:51
阅读次数:
243
2.C51数据类型扩充定义 单片机内部有很多特殊功能寄存器,每个寄存器在单片机内部都分配有唯一的地址,一般根据寄存器的功能不同赋予不同名称。操作时,需声明,即将地址编号赋给这个名称。(见reg52.h头文件) 3.为什么发光二极管接1kΩ电阻 发光二极管,通过电流I为5mA时即可发光,一般控制在3~ ...
分类:
其他好文 时间:
2016-03-28 13:39:35
阅读次数:
223
树莓派官网学习记录 和GPIO Zero 一起开始 我们将做的 树莓派一侧的排针是称为通用输入输出引脚(GPIO) 这些引脚允许树莓派去控制现实中的东西。你能连接元件到这些引脚上:输出设备像能任意被开关的LED(发光二极管);或者是输入设备像能用作触发事件的一个按钮或者传感器,比如当一个按钮被按下的...
分类:
其他好文 时间:
2016-03-14 18:31:56
阅读次数:
411
27.点亮led的操作 Led可以作为我调试程序的工具:在嵌入式系统软件,例如Bootloader和kernel,在开发初期,由于串口等硬件尚未被初始化,因此调试手段相当有限,这时候可以采用Led来作为调试手段。 OK6410有关led的原理图: 从上图知道,要让led发光二极管,就是从右到左导通,
分类:
其他好文 时间:
2016-02-14 11:31:29
阅读次数:
205