#include <linux/module.h> // module_init module_exit
#include <linux/init.h> // __init __exit
#include <linux/fs.h>
#include <linux/string.h>
#include "linux/leds.h"
#include <mach/regs-gpio.h>
#include <mach/gpio-bank.h>
#include <linux/io.h>
#include <linux/ioport.h>
#include <mach/gpio.h>
#define GPIO_LED1 S5PV210_GPJ0(3)
#define GPIO_LED2 S5PV210_GPJ0(4)
#define GPIO_LED3 S5PV210_GPJ0(5)
//虚拟地址
#define GPJ0CON S5PV210_GPJ0CON
#define GPJ0DAT S5PV210_GPJ0DAT
volatile unsigned int *pGPJ0CON,*pGPJ0DAT;
static struct led_classdev led_cdev1,led_cdev2,led_cdev3;
static void led1_brightness(struct led_classdev *led_cdev,enum led_brightness value)
{
printk(KERN_INFO "s5pv210_led1_set\n");
// 在这里根据用户设置的值来操作硬件
// 用户设置的值就是value
if (value == LED_OFF)
{
gpio_set_value(GPIO_LED1,1);
}
else
{
gpio_set_value(GPIO_LED1,0);
}
}
static void led2_brightne
linux驱动开发扩展--gpiolib使用例程
最新推荐文章于 2023-11-07 10:52:23 发布
本文详细探讨了Linux驱动开发中的gpiolib库,通过实例解析其用法,帮助程序员掌握在Linux环境下进行GPIO操作的核心技术。
摘要由CSDN通过智能技术生成