`
helloyesyes
  • 浏览: 1335226 次
  • 性别: Icon_minigender_2
  • 来自: 武汉
文章分类
社区版块
存档分类
最新评论

Linux驱动修炼之道-流水灯

阅读更多

哈尔滨理工大学软件工程专业08-7李万鹏原创作品,转载请标明出处

http://blog.csdn.net/woshixingaaa/archive/2011/04/02/6299318.aspx

module.h包含可装载模块需要的大量符号和函数定义,包含init.h的目的是指定初始化和清除代码,struct file是在<linux/fs.h>中定义的。
注册字符设备使用
int register_chrdev(unsigned int major, const char *name, struct file_operations *fops);
移除字符设备使用
int unregister_chrdev(unsigned int major, const char *name);
init函数是在insmod时被调用的,exit函数是在rmmod时被调用的。
使用命令 cat /proc/devices 可以查看设备的主设备号。
如果内核没有为我们生成设备文件,我们需要手动生成:
mknod /dev/led_driver c 234 0
__init标记表示该函数只在初始化期间使用,在模块被装载后,模块装载器就会将初始化函数扔掉,这样可将函数占用的内存释放出来。
__exit修饰的函数只在模块卸载或系统关闭时被调用,如果模块被直接内嵌到内核中,或者内核的配置不允许卸载模块,则被标记为__exit
的模块将被简单丢弃。

驱动程序:

测试程序:

效果:此时LED灯也轮流闪烁。

分享到:
评论

相关推荐

    Linux常见驱动源码分析(kernel hacker修炼之道全集)--李万鹏

    kernel hacker修炼之道之驱动-流水灯.pdf kernel hacker修炼之道之驱动-混杂设备.pdf kernel hacker修炼之道之驱动-按键.pdf kernel hacker修炼之道之PCI subsystem(五).pdf kernel hacker修炼之道之...

    keil C51的几个小入门程序-----流水灯

    keil C51的几个小入门程序-----流水灯keil C51的几个小入门程序-----流水灯keil C51的几个小入门程序-----流水灯keil C51的几个小入门程序-----流水灯keil C51的几个小入门程序-----流水灯keil C51的几个小入门程序-...

    220-流水灯(51单片机C语言实例Proteus仿真和代码)

    220-流水灯(51单片机C语言实例Proteus仿真和代码)220-流水灯(51单片机C语言实例Proteus仿真和代码)220-流水灯(51单片机C语言实例Proteus仿真和代码)220-流水灯(51单片机C语言实例Proteus仿真和代码)220-流水灯(51...

    154-流水灯A(51单片机C语言实例Proteus仿真和代码)

    154-流水灯A(51单片机C语言实例Proteus仿真和代码)154-流水灯A(51单片机C语言实例Proteus仿真和代码)154-流水灯A(51单片机C语言实例Proteus仿真和代码)154-流水灯A(51单片机C语言实例Proteus仿真和代码)154-流水灯A...

    156-流水灯B(51单片机C语言实例Proteus仿真和代码)

    156-流水灯B(51单片机C语言实例Proteus仿真和代码)156-流水灯B(51单片机C语言实例Proteus仿真和代码)156-流水灯B(51单片机C语言实例Proteus仿真和代码)156-流水灯B(51单片机C语言实例Proteus仿真和代码)156-流水灯B...

    杭电数字电路课程设计-实验十七-流水灯实验

    "杭电数字电路课程设计-实验十七-流水灯实验"是一个典型的教学实践项目,旨在帮助学生理解和应用数字逻辑原理。在这个实验中,学生将学习如何使用数字电路设计一个动态显示效果,即流水灯。 流水灯是一种常见的电子...

    数字系统设计与实习制作--双向流水灯控制电路设计(全套资源)

    数字系统设计与制作----双向流水灯控制电路设计 内包涵: 1.数字系统设计与制作--双向流水灯控制电路设计电子版报告 2.数字系统设计与制作--双向流水灯控制电路设计PPT 3.数字系统设计与制作--双向流水灯控制电路...

    FL2440 linux-2.6.28.7 驱动 流水灯

    标题中的“FL2440 linux-2.6.28.7 驱动 流水灯”指的是为FL2440处理器编写的Linux内核版本2.6.28.7下的驱动程序,该驱动主要是为了控制流水灯功能。FL2440是一种基于ARM920T内核的微控制器,常用于嵌入式系统设计,...

    单片机实验程序--流水灯

    单片机实验程序--流水灯 单片机实验是学习单片机技术的重要环节,它通过实际操作帮助初学者理解并掌握单片机的工作原理和编程技巧。"流水灯"是一个经典的单片机入门实验,它涉及到数字电路、汇编语言或C语言编程...

    12.VB上位机控制数码管-流水灯-蜂鸣器.rar

    在这个项目中,用户通过上位机界面发送指令,与单片机进行通信,从而驱动数码管、流水灯和蜂鸣器按照预设模式工作。 首先,我们要了解数码管。数码管是一种常见的显示设备,通常由7个或8个段组成,可以用来显示数字...

    STM32F429-流水灯.7z

    总之,通过这个"STM32F429-流水灯"项目,我们不仅能够掌握STM32F429的GPIO配置和LED驱动,还能了解到流水灯效果的实现原理,同时增强对嵌入式系统开发流程的理解。在实际应用中,这样的基础知识对于设计更复杂的控制...

    \C语言配套程序\4-流水灯\跑马灯.c

    \C语言配套程序\4-流水灯\跑马灯.c

    arm-linux-gcc-4.5.1-v6-vfp-20101103

    标题“arm-linux-gcc-4.5.1-v6-vfp-20101103”指的是一款特定版本的ARM交叉编译工具链,由友善之臂公司提供。这个工具链主要用于将源代码编译为适用于ARM架构处理器,特别是ARM11内核的二进制代码。日期“20101103”...

    倍福PLC编程笔记1-流水灯程序.zip

    倍福BECKHOFF PLC:自动化编程笔记(一)对应的程序实例,实现流程顺序控制 - 流水灯。借助CASE OF语法(类似与C语言的 switch case) + 信号上升沿功能块。

    Zigbee-流水灯

    **Zigbee 流水灯项目详解** Zigbee是一种基于IEEE 802.15.4标准的低功耗、短距离、无线通信技术,广泛应用于物联网(IoT)设备之间的通信。在本项目中,我们将深入探讨如何利用Zigbee节点,特别是CC2530微控制器,...

    FPGA 实验例程--流水灯、数码管、按键、1602、VGA

    "FPGA实验例程--流水灯、数码管、按键、1602、VGA"这个资源集合提供了一系列实践性的教程,适合初学者深入理解和掌握FPGA设计的基本原理和应用。 首先,我们来看"流水灯"。流水灯是FPGA入门实验中的经典项目,主要...

    Protues仿真实例-51单片机-流水灯演示.rar

    标题中的“Protues仿真实例-51单片机-流水灯演示.rar”指的是使用Protues软件进行的一个基于51单片机的流水灯控制的模拟实验。这个实验是通过Protues平台,对51系列单片机进行编程并仿真,以实现LED灯的连续流动效果...

    plc-西门子S7-226流水灯plc编程(流水灯.awl)

    在本实例中,我们探讨的是如何使用S7-226进行流水灯编程,通过梯形图(Ladder Diagram, LD)实现这一功能。流水灯是一种常见的PLC编程入门示例,它有助于理解基本的编程逻辑和定时器、计数器的应用。 首先,我们...

    嵌入式系列实验1------流水灯

    在本实验中,我们将深入探讨嵌入式系统的基础应用,以"嵌入式系列实验1------流水灯"为主题。这个实验主要围绕STM32F103微控制器,使用Keil IDE进行源码开发,并通过Proteus进行硬件仿真。我们将详细讲解相关知识点...

    51单片机最小系统设计-流水灯

    在电子工程领域,51单片机是最基础且广泛应用的微控制器之一,尤其适用于初学者和小型嵌入式系统的设计。"51单片机最小系统设计-流水灯"项目,是通过C语言编程实现对51单片机的控制,以展示基本的硬件连接和软件编程...

Global site tag (gtag.js) - Google Analytics