我自己编写了一个驱动叫tq_gpio.c,也已经到配置清单确认了。镜像编译完到开发板上想控制LED灯,发现失败了。我觉得是open函数那出现了问题。
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/ioctl.h>
int main(int argc, char **argv)
{
int on;
int led_no;
int fd;
if (argc != 3 || sscanf(argv[1], "%d", &led_no) != 1 || sscanf(argv[2],"%d", &on) != 1 ||
on < 0 || on > 1 || led_no < 0 || led_no > 3) {
fprintf(stderr, "Usage: led led_num 0|1\n");
exit(1);
}
fd = open("/dev/tq_gpio", 0);//就是这行的open函数的路径,是不是在dev目录下找不到我的tq_gpio驱动
if (fd < 0) { //如果要在dev下添加我自己写的驱动,要怎么做呢?
perror("open device leds");
exit(1);
}
ioctl(fd, on, led_no);
close(fd);
return 0;
}
自己写了的驱动用不了,好纠结啊 |