17.继电器组硬件控制开发

本文介绍了使用C语言配合库函数进行继电器组硬件控制的开发过程,通过编译示例代码gcc demo3.c -lwiringPi,实现对继电器的控制,展示了底层硬件操作的基础知识。
摘要由CSDN通过智能技术生成

 

#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

运行结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值