#include <stdlib.h> //包含头文件
#define IOCTL_LED_ON 0
#define IOCTL_LED_OFF 1
int led_fd=0;
int led_open(const char *devname) //定义一个open函数 linux驱动会调用里open函数
{
led_fd=open(devname, O_RDWR);//调用驱动函数,打开设备文件
printf("LED driver is ok\n");
if(led_fd<0) //如果打开失败
{
printf("open device %s failed.\n",devname);
return -1;
}
return 0;
}
int led_ioctl(unsigned int cmd, unsigned long led_num)
{
printf("on/off is ok\t");
printf("cmd=%d\n",cmd);
ioctl(led_fd, cmd, led_num-1); //调用驱动函数,设置对应io口的状态
return 0;
}
int led_close(void)
{
if(led_fd)
close(led_fd);//调用驱动函数,关闭设备文件
}
///调用 测试
led_ioctl(4, 1);//第二个参数在这里并不起作用,但必须>=1(因为后面有led_num-1)
led_open("/dev/xyz");//选择打开的设备节点,找到要控制的设备驱动