一个简单的程序来打开和关闭两个门与伺服电机取决于unlock.txt文件的内容。
它只是给了Segmentation Fault。
我做到了:
ulimit -s 20000早些时候是8000左右,因为我在我的树莓派3上。
仍然可以使用Segmentation Fault。
from time import sleep
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BOARD)
GPIO.setup(40,GPIO.OUT)
GPIO.setup(38,GPIO.OUT)
GPIO.output(40,GPIO.LOW)
GPIO.output(38,GPIO.LOW)
pwm1=GPIO.PWM(40,50)
pwm2=GPIO.PWM(38,50)
flag=0
prevlok=0
while(True):
with open('/home/pi/Documents/HAP/unlock.txt','r') as f1:
unlock=f1.read()
if flag == 0:
if unlock == '1':
pwm1.start(2.5)
pwm2.start(2.5)
sleep(2)
pwm1.stop()
pwm2.stop()
flag=1
else:
pwm1.start(7.5)
pwm2.start(7.5)
sleep(2)
pwm1.stop()
pwm2.stop()
flag=1
if prevlok != unlock:
flag=0
else:
flag=1
prevlok=unlock发布于 2018-02-03 15:08:52
感谢您的阅读...我用下面的代码修复了这个问题...想知道是否有一种方法来停止pwm或不运行伺服电机,以节省回路中的电力,我试图在问题中做到…
from time import sleep
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BOARD)
GPIO.setup(40,GPIO.OUT)
GPIO.setup(38,GPIO.OUT)
GPIO.output(40,GPIO.LOW)
GPIO.output(38,GPIO.LOW)
pwm1=GPIO.PWM(40,50)
pwm2=GPIO.PWM(38,50)
pwm1.start(7.5)
pwm2.start(7.5)
flag=1
prevlok=0
while(True):
with open('/home/pi/Documents/HAP/unlock.txt','r') as f1:
unlock=f1.read()
if flag == 1:
if unlock == '1':
pwm1.ChangeDutyCycle(2.5)
pwm2.ChangeDutyCycle(2.5)
sleep(2)
flag=0
else:
pwm1.ChangeDutyCycle(7.5)
pwm2.ChangeDutyCycle(7.5)
sleep(2)
flag=0
if prevlok != unlock:
flag=1
else:
flag=0
prevlok=unlockhttps://stackoverflow.com/questions/48594502
复制相似问题