应用程序main函数(led.c)
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: leds led_no 0|1\n");
exit(1); } //将第1个参数赋值给led_no,将第2个参数赋值给on,做边界判断
fd = open("/dev/leds0", 0); //系统open
if (fd < 0) {
fd = open("/dev/leds", 0); } //系统open
if (fd < 0) {
perror("open device leds");
exit(1); }
ioctl(fd, on, led_no); //系统ioctl
close(fd); //系统close
编译及运行
编译:
[root@localhost leds]# make clean
rm -rf *.o led
[root@localhost leds]# make
arm-linux-gcc -Wall -O2 led.c -o led
[root@localhost leds]# ls
led led.c Makefile
[root@localhost leds]# chmod 777 led
[root@localhost leds]#
运行
1.挂载宿主机目录
[root@Cyb-Bot /]# mount -t nfs -o nolock 192.168.1.7:/CBT-SuperIOT//mnt/nfs
2.进入串口终端的NFS 共享文件目录。
[root@Cyb-Bot /]# cd /mnt/nfs/SRC/exp/driver/leds/
[root@Cyb-Bot leds]# ls
Makefile led led.c
3.运行程序
[root@Cyb-Bot leds]#./led 3 0
执行上述命令后,可以看见目标板上的LED4指示灯灭。
[root@Cyb-Bot leds]#./led 3 1
执行上述命令后,可以看见目标板上的LED4指示灯亮。