📄 grrd.c
字号:
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/ioctl.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <sys/select.h>
#include <sys/time.h>
#include <errno.h>
#define Green1Red0 0xf021
#define Green0Red1 0xf022
#define Green0Red0 0xf023
#define Green1Red1 0xf024
#define DEVICE_GPIODRV "/dev/LedDriver"
int main()
{
int fd;
int val=-1;
int rtn=-1;
char *buffer;
fd=open("/dev/LedDriver",0);
if(fd<0)
{
printf("open device: %s\n",DEVICE_GPIODRV);
perror("can not open device");
exit(1);
}
while(1){
printf("0:G=1,R=0;1:G=0,R=1;2:G=0,R=0;3:G=1,R=1;4:Read;5;quit:");
scanf("%d",&val);
if(val==0)
{
rtn=ioctl(fd,Green1Red0,0);
if(rtn!=0)
{
printf("Error0\n");
printf("rtn is %d\n",rtn);
}
}
else if(val==1)
{
rtn=ioctl(fd,Green0Red1,0);
if(rtn!=0){printf("Error0\n"); printf("rtn is %d\n",rtn);}
}
else if(val==2)
{
rtn=ioctl(fd,Green0Red0,0);
if(rtn!=0){printf("Error0\n"); printf("rtn is %d\n",rtn);}
}
else if(val==3)
{
rtn=ioctl(fd,Green1Red1,0);
if(rtn!=0){printf("Error0\n"); printf("rtn is %d\n",rtn);}
}
else if(val==4)
read(fd,buffer,1);
// else if(val==5)
// write(fd,buffer,1);
else if(val==5)
{
close(fd);
return 0;
}
else{
printf("val is %d\n",val);
continue;
}
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -