从
#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'};
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/4on off:off-断开开关,on-导通开关\n");
memset(cmd,'\0',sizeof(cmd));
//scanf("%s",cmd);
gets(cmd);
if(strcmp(cmd,"1 on") == 0)
{
digitalWrite(SWI1,LOW);
}
else if(strcmp(cmd,"1 off") == 0)
{
digitalWrite(SWI1,HIGH);
}
if(strcmp(cmd,"2 on") == 0)
{
digitalWrite(SWI2,LOW);
}
else if(strcmp(cmd,"2 on") == 0)
{
digitalWrite(SWI2,HIGH);
}
if(strcmp(cmd,"3 on") == 0)
{
digitalWrite(SWI3,LOW);
}
else if(strcmp(cmd,"3 off") == 0)
{
digitalWrite(SWI3,HIGH);
}
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");
}
}
}
编译:gcc demo3.c -lwiringPi
运行结果: