#include<wiringPi.h>
#include<string.h>
#include<stdio.h>
#define SW1 26
#define SW2 27
#define SW3 28
#define SW4 29
int main()
{
char cmd[12] = {'\0'};
if(wiringPiSetup() == -1){ //当使用这个函数初始化树莓派引脚时,程序使用的是wiringPi 引脚编号表。
printf("硬件接口初始化\n");
return -1;
}
pinMode(SW1,OUTPUT); //pin:配置的引脚 mode:指定引脚的IO模式可取的值:INPUT、OUTPUT、PWM_OUTPUT,GPIO_CLOCK
pinMode(SW2,OUTPUT);
pinMode(SW3,OUTPUT);
pinMode(SW4,OUTPUT);
digitalWrite(SW1,HIGH); //pin:控制的引脚value:引脚输出的电平值。可取的值:HIGH,LOW分别代表高低电平
digitalWrite(SW2,HIGH);
digitalWrite(SW3,HIGH);
digitalWrite(SW4,HIGH);
while(1){
printf("请输入1/2/3/4on-off:on-导通开关,off-断开开关\n");
memset(cmd,'\0',sizeof(cmd));
gets(cmd);
if(strcmp(cmd,"1 on")==0){
digitalWrite(SW1,LOW);
}else if(strcmp(cmd,"1 off")==0){
digitalWrite(SW1,HIGH);
}
if(strcmp(cmd,"2 on")==0){
digitalWrite(SW2,LOW);
}else if(strcmp(cmd,"2 off")==0){
digitalWrite(SW2,HIGH);
}
if(strcmp(cmd,"3 on")==0){
digitalWrite(SW3,LOW);
}else if(strcmp(cmd,"3 off")==0){
digitalWrite(SW3,HIGH);
}
if(strcmp(cmd,"4 on")==0){
digitalWrite(SW4,LOW);
}else if(strcmp(cmd,"4 off")==0){
digitalWrite(SW4,HIGH);
}
if(strcmp(cmd,"all on")==0){
digitalWrite(SW1,LOW);
digitalWrite(SW2,LOW);
digitalWrite(SW3,LOW);
digitalWrite(SW4,LOW);
}else if(strcmp(cmd,"all off")==0){
digitalWrite(SW1,HIGH);
digitalWrite(SW2,HIGH);
digitalWrite(SW3,HIGH);
digitalWrite(SW4,HIGH);
}
else{
printf("请输入正确指令\n");
}
}
}