LED驱动-基于himawari-8卫星的沙尘监测

时间:2024-06-29 20:21:04
【文件属性】:

文件名称:LED驱动-基于himawari-8卫星的沙尘监测

文件大小:7.57MB

文件格式:PDF

更新时间:2024-06-29 20:21:04

嵌入式linux 周立功

第3章 LED驱动 本章导读 LED是嵌入式系统中最常用,也是最简单的外设备之一。上一章介绍了实现 LED字符设 备的多种方法。本章介绍如何通过LED子系统更方便地实现LED驱动,并实现更强大的功能。 3.1.1 LED 子系统驱动简介 参考上册“EasyARM-i.MX283A 入门实操”章节的“LED 使用”小节,Linux 内核的 LED 子系统为每个 LED 设备都在/sys/class/leds/目录提供了操作接口。LED 设备可以通过设 置不同的触发方式而具有不同的功能。 通过 LED 子系统,程序员可以通过很简便的方法添加/删减 LED 设备。这些 LED 设备 在使用过程中,用户可以随意设置 LED 设备的功能。 3.1.2 LED 子系统的分层结构 LED 子系统的可以分为三部分:触发器、LED 设备和核心模块,如图 3.1 所示。 图 3.1 LED 子系统的分层结构 LED 设备可设置的各种触发方式都是由 LED 子系统里各触发器实现的。触发器的代码 文件为目录下的 ledtrig-*.c,例如 ledtrig-heartbeat.c 文件是心跳触发器的代码 文件。这些触发器的代码文件的主要任务是初始化各自的触发器,然后注册到核心模块。 LED 子系统需要为每个 LED 硬件都实现一个 LED 设备。这些 LED 设备在/sys/class/leds/ 目录下都有操作接口,并且可以设置自己的触发器。实现 LED 设备的代码文件为 目录下的 leds-*.c,例如 leds-mxs.c 为 i.MX28 系列处理器的 LED 设备驱动代 码。这些 LED 设备的实现代码文件的主要任务是生成 LED 设备,然后注册到核心模块。 核心模块的代码文件为。核心模块的任务有:  维护 LED 子系统的所有触发器,为触发器的注册/注销提供操作函数;  维护 LED 子系统的所有 LED 设备,并为每个 LED 设备在/sys/class/leds/目录下实 现操作接口;为 LED 设备的注册/注销提供操作函数。


网友评论