39 lines
844 B
C
39 lines
844 B
C
#include <sys/types.h>
|
||
#include <sys/stat.h>
|
||
#include <fcntl.h>
|
||
#include <stdio.h>
|
||
#include <unistd.h>
|
||
#include <string.h>
|
||
|
||
int main(int argc, char **argv)
|
||
{
|
||
int fd;
|
||
char* filename=NULL;
|
||
int val;
|
||
filename = argv[1];
|
||
fd = open(filename, O_RDWR);//打开dev/设备文件
|
||
if (fd < 0)//小于0说明没有成功
|
||
{
|
||
printf("error, can't open %s\n", filename);
|
||
return 0;
|
||
}
|
||
if(argc !=3)
|
||
{
|
||
printf(argv[1]);//打印用法
|
||
}
|
||
if(!strcmp(argv[2], "on")) //如果输入等于on,则LED亮
|
||
val = 0;
|
||
else if(!strcmp(argv[2], "off")) //如果输入等于off,则LED灭
|
||
val = 1;
|
||
else
|
||
goto error;
|
||
write(fd, &val, 4);//操作LED
|
||
|
||
close(fd);
|
||
return 0;
|
||
error:
|
||
printf("usage: ./led_dev.exe [device] [on/off]\n");
|
||
close(fd);
|
||
return -1;
|
||
}
|