我是Raspberry Pi的新手,我试图通过开关引脚来使电机工作。它的正常工作,当我尝试设置引脚但是我得到这些警告:如何在Raspberry Pi 2中使用后发布频道?
test2.py:17: RuntimeWarning: This channel is already in use, continuing anyway. Use GPIO.setwarnings(False) to disable warnings.
GPIO.setup(pin1,GPIO.OUT)
test2.py:18: RuntimeWarning: This channel is already in use, continuing anyway. Use GPIO.setwarnings(False) to disable warnings.
GPIO.setup(pin2,GPIO.OUT)
test2.py:19: RuntimeWarning: This channel is already in use, continuing anyway. Use GPIO.setwarnings(False) to disable warnings.
GPIO.setup(pin3,GPIO.OUT)
这似乎并没有引起由于马达仍在工作的任何问题,但是我想摆脱他们如果可能的话。
我想我需要以某种方式在我的程序结束时释放pin通道,但我该怎么做?
对于信息这是我的完整的程序:
import RPi.GPIO as GPIO
import time
import sys
pin1=17
pin2=18
pin3=27
pin4=22
GPIO.setmode(GPIO.BCM)
GPIO.setup(pin1,GPIO.OUT)
GPIO.setup(pin2,GPIO.OUT)
GPIO.setup(pin3,GPIO.OUT)
GPIO.setup(pin4,GPIO.OUT)
Apin1=[0,1,0,0,1]
Apin2=[0,1,1,0,0]
Apin3=[0,0,1,1,0]
Apin4=[0,0,0,1,1]
current=0
target=0
def GO_THERE(target,current):
if current<target:
while current<target:
i=current&2 + 1
GPIO.output(pin1,Apin1[i])
GPIO.output(pin2,Apin2[i])
GPIO.output(pin3,Apin3[i])
GPIO.output(pin4,Apin4[i])
time.sleep(.003)
current= current + 1
else:
while current>target:
i=current&2 + 1
GPIO.output(pin1,Apin1[i])
GPIO.output(pin2,Apin2[i])
GPIO.output(pin3,Apin3[i])
GPIO.output(pin4,Apin4[i])
time.sleep(.003)
current= current - 1
print current,target
return current;
target=4096
current=GO_THERE(target,current)