API:
#include<stdio.h>
#include<stdlib.h>
#include<fcntl.h>
int main(void)
{
int fd;
fd=open("dev/test_led",0);
while(1)
{
ioctl(fd,0);sleep(1);
ioctl(fd,1);sleep(1);
}
close(fd);
return 0;
}
LINUX:
#include<linux/fs.h>
#include<linux/module.h>
#include<linux/cdev.h>
#include<linux/types.h>
#include<linux/init.h>
#include<mach/regs-gpio.h>
#include<mach/hardware.h>
#define TEST_LED_MAJOR 241
#define LED_ON 0
#define LED_OFF 1
struct test_led_dev{
struct cdev cdev;
};
struct test_led_dev *test_led_devp;
int test_led_major=TEST_LED_MAJOR;
void gpio_init(void)
{
s3c2410_gpio_setpin(S3C2410_GPB5,S3C2410_GPB5_OUTP);
}
ssize_t test_led_open(struct inode