📄 ms_test_relay.c
字号:
#include <stdio.h>
#include <stdlib.h>
#include <sys/ioctl.h>
#include <unistd.h>
#include <fcntl.h>
//#include <asm/arch/major.h>
#define DEVICE_RELAY "/dev/relaydriver"
#define RELAY1_ON_PLUSE 1
#define RELAY1_ON 2
#define RELAY1_OFF 3
#define RELAY2_ON_PLUSE 4
#define RELAY2_ON 5
#define RELAY2_OFF 6
#define RELAY3_ON_PLUSE 7
#define RELAY3_ON 8
#define RELAY3_OFF 9
#define RELAY4_ON_PLUSE 10
#define RELAY4_ON 11
#define RELAY4_OFF 12
int main()
{
int fd;
int val=-1;
//int ret = 0;
if((fd=open(DEVICE_RELAY,O_RDONLY | O_NONBLOCK))<0)
{
perror("can not open device");
exit(1);
}
while(1){
printf("1:RELAY1_ON_PLUSE(100ms) , 2:RELAY1_ON, 3:RELAY1_OFF\n"); printf("4:RELAY2_ON_PLUSE(100ms) , 5:RELAY2_ON, 6:RELAY2_OFF\n"); printf("7:RELAY3_ON_PLUSE(100ms) , 8:RELAY3_ON, 9:RELAY3_OFF\n"); printf("10:RELAY4_ON_PLUSE(100ms) , 11:RELAY4_ON, 12:RELAY4_OFF\n"); printf("0: exit\n"); printf("please choose :__"); printf("\n");
scanf("%d",&val);
switch(val) { case RELAY1_ON_PLUSE: ioctl(fd,RELAY1_ON_PLUSE,100); break; case RELAY1_ON: ioctl(fd,RELAY1_ON,val); break; case RELAY1_OFF: ioctl(fd,RELAY1_OFF,val); break; case RELAY2_ON_PLUSE: ioctl(fd,RELAY2_ON_PLUSE,100); break; case RELAY2_ON: ioctl(fd,RELAY2_ON,val); break; case RELAY2_OFF: ioctl(fd,RELAY2_OFF,val); break; case RELAY3_ON_PLUSE: ioctl(fd,RELAY3_ON_PLUSE,100); break; case RELAY3_ON: ioctl(fd,RELAY3_ON,val); break; case RELAY3_OFF: ioctl(fd,RELAY3_OFF,val); break; case RELAY4_ON_PLUSE: ioctl(fd,RELAY4_ON_PLUSE,100); break; case RELAY4_ON: ioctl(fd,RELAY4_ON,val); break; case RELAY4_OFF: ioctl(fd,RELAY4_OFF,val); break; case 0: close(fd); exit(0); break; default: printf(" err ! \n"); break; }
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -