⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 grrd.c

📁 嵌入式LINUX I/O口驱动,YC2410-SBC T2 平台
💻 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 + -