1.首先确定GPIO库已经安装,可以参考:
https://blog.csdn.net/sxhexin/article/details/94889079
2.用2种方式测试:
1)wiringpi 库测试
目前该库已经不维护了,官网无法下载。
安装包
gpio readall
代码如下:使用了GPIO29.
#include#include #define GPIO_NUM 29 int main() { int cmd;//输入指令 if(wiringPiSetup()==-1)//设备初始化 { printf("Init GPIO failn"); return -1; } pinMode(GPIO_NUM,OUTPUT);//设置为输出引脚 digitalWrite(GPIO_NUM,HIGH);//断开状态 while(1) { printf("Please input 0/1: 0 means switch off and 1 means switch onn"); scanf("%d",&cmd); getchar();//吸收回车符 if(cmd==1) { printf("switch onn"); digitalWrite(GPIO_NUM,LOW); //低电平导通开通 } else if(cmd==0) { printf("switch offn"); digitalWrite(GPIO_NUM,HIGH); //高电平导通断开 } cmd=99; } }
- 使用pathon进行 *** 作:
GPIO口使用的是BCM编码的格式:
import time import RPi.GPIO as gpio GPIO_NUM=21 gpio.setmode(gpio.BCM)#BCM编码方式 print("set high switch off") print(GPIO_NUM) gpio.setup(GPIO_NUM,gpio.OUT)#设置为输出端 gpio.output(GPIO_NUM,gpio.HIGH)#设置高电平 time.sleep(5) print("set low switch on") gpio.output(GPIO_NUM,gpio.LOW)#低电平 time.sleep(5) gpio.cleanup()
其中需要注意:GPIO ID使用要正确,否则不会生效,如python中使用的BCM编码,所以使用的是BCM 对应的ID.
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)