选择gpio 7做输出,控制继电器导通关断
#include<wiringPi.h>
#include<stdio.h>
#define SWITCHER 7
int main()
{
int cmd;
/*对wiringPi库的初始化*/
if(wiringPiSetup() == -1){
printf("硬件接口初始化失败!\n");
return -1;
}
pinMode(SWITCHER,OUTPUT); //对引脚的初始化,配置成输出功能
digitalWrite(SWITCHER,HIGH); //上电关断,高电平继电器关断
while(1){
printf("请输入0/1:0-断开开关,1-导通开关\n"); //低电平继电器导通
scanf("%d",&cmd);
getchar();
if(cmd == 1){
digitalWrite(SWITCHER,LOW);
}else if(cmd == 0){
digitalWrite(SWITCHER,HIGH);
}
cmd = 2;
}
}
控制继电器组
#include<wiringPi.h>
#include<stdio.h>
#include<string.h>
#define SWI1 26
#define SWI2 27
#define SWI3 28
#define SWI4 29
int main()
{
char cmd[12] = {'\0'};
/*对wiringPi库的初始化*/
if(wiringPiSetup() == -1){
printf("硬件接口初始化失败!\n");
return -1;
}
pinMode(SWI1,OUTPUT); //对引脚的初始化,配置成输出功能
pinMode(SWI2,OUTPUT); //对引脚的初始化,配置成输出功能
pinMode(SWI3,OUTPUT); //对引脚的初始化,配置成输出功能
pinMode(SWI4,OUTPUT); //对引脚的初始化,配置成输出功能
digitalWrite(SWI1,HIGH); //上电关断,高电平继电器关断
digitalWrite(SWI2,HIGH); //上电关断,高电平继电器关断
digitalWrite(SWI3,HIGH); //上电关断,高电平继电器关断
digitalWrite(SWI4,HIGH); //上电关断,高电平继电器关断
while(1){
printf("请输入1/2/3/4/all on/off:off-断开开关,on-导通开关\n"); //低电平继电器导通
//scanf("%s",cmd); //scanf有bug
memset(cmd,'\0',sizeof(cmd));
gets(cmd);
//getchar();
if(strcmp(cmd,"1 on") == 0){
digitalWrite(SWI1,LOW);
}else if(strcmp(cmd,"1 off") == 0){
digitalWrite(SWI1,HIGH);
}else if(strcmp(cmd,"2 on") == 0){
digitalWrite(SWI2,LOW);
}else if(strcmp(cmd,"2 off") == 0){
digitalWrite(SWI2,HIGH);
}else if(strcmp(cmd,"3 off") == 0){
digitalWrite(SWI3,HIGH);
}else if(strcmp(cmd,"4 on") == 0){
digitalWrite(SWI4,LOW);
}else if(strcmp(cmd,"4 off") == 0){
digitalWrite(SWI4,HIGH);
}
if(strcmp(cmd,"all on") == 0){
digitalWrite(SWI1,LOW);
digitalWrite(SWI2,LOW);
digitalWrite(SWI3,LOW);
digitalWrite(SWI4,LOW);
}else if(strcmp(cmd,"all off") == 0){
digitalWrite(SWI1,HIGH);
digitalWrite(SWI2,HIGH);
digitalWrite(SWI3,HIGH);
digitalWrite(SWI4,HIGH);
}else{
printf("请输入正确指令\n");
}
}
}