继电器组硬件控制开发

 

#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");
                        }
                }
}

猜你喜欢

转载自blog.csdn.net/weixin_46016743/article/details/112791658