树莓派驱动学习-字符设备驱动(LED).doc

树莓派驱动学习-字符设备驱动(LED).doc

ID:55709261

大小:232.50 KB

页数:16页

时间:2020-05-26

树莓派驱动学习-字符设备驱动(LED).doc_第1页
树莓派驱动学习-字符设备驱动(LED).doc_第2页
树莓派驱动学习-字符设备驱动(LED).doc_第3页
树莓派驱动学习-字符设备驱动(LED).doc_第4页
树莓派驱动学习-字符设备驱动(LED).doc_第5页
资源描述:

《树莓派驱动学习-字符设备驱动(LED).doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、从上次hello world程序中,我们已经搭建好了驱动学习相关的环境搭建,为接下来的设备驱动做好了准备。同时通过最简单的hello world程序,学习了模块的初始化和退出,知道了如何编写***_init和***_exit函数,知道了如何通过内核打印函数printk输出相关信息。Linux中的设备驱动分三大类:字符设备、块设备、网络设备。本篇文章讨论字符型设备程序如何编写,通过简单的LED驱动程序介绍相关知识。下篇文章介绍杂项设备(misc)驱动程序的编写,这在实际项目中很常用,相当于字符设备的简化版。首先附上完整程序:[plain] viewplai

2、ncopy1./*********************************************************************************************  2.* File: led_driver.c  3.* Author:   Fawen Xu  4.* Desc: led driver code  5.* History:  May 9th 2015  6.***********************************

3、**********************************************************/  7.#include   8.#include   9.#include   10.#include   11.#include   12.#include   13.#include   14.#include 

4、delay.h>  15.#include   16.#include   17.#include   18.#include   19.#include   20.#include   21.#include   22.  23.MODULE_AUTHOR("Fawen Xu");  24.MODULE_LICENSE("Dual BSD/GPL");  25.

5、  26.static unsigned int led_major=0;  27.static unsigned int bcm2835_gpio_baseaddr;   28.  29.module_param(led_major,int,0);  30.  31.#define LED_MAGIC 'k'  32.#define LED_ON_CMD _IO(LED_MAGIC,1)  1.#define LED_OFF_CMD _IO(LED_MAGIC,2)  2.  3.//#define BCM2835_PERI_BASE         

6、  0x  4.//#define BCM2835_PERI_BASE           0x7e  5.#define BCM2835_GPIO_BASE           0x  6.#define BCM2835_GPIOReg_GPFSEL0     0x  7.#define BCM2835_GPIOReg_GPSET0      0xc  8.#define BCM2835_GPIOReg_GPCLR0      0x  9.#define BCM2835_GPIO_FSEL_INP       0x  10.#define BCM283

7、5_GPIO_FSEL_OUTP      0x  11.#define RPI_BPLUS_GPIO_J8_12        18  12.  13.int bcm2835_gpio_fsel(int pin, int mode)  14.{     15.    volatile int shift,value;  16.    volatile int *bcm2835_gpio_fsel_addrp = bcm2835_gpio_baseaddr + (pin/10)*4;  17.    //printk("In bcm2835_gpio_f

8、sel function:");  18.    //printk("  p

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。