使用时出现“分段错误”零售物价指数树莓皮2上的设置

2024-09-29 21:36:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用gpio.setup(pin, GPIO.OUT)时出错

我目前正在使用Ubuntu Mate For Raspberry Pi2,并使用Python2.7和python-rpi.gpio 0.5.10.1模块。在

当我试图输入GPIO.setup(pin, GPIO.OUT)时,它抛出SegmentationFault。在

编辑:这是我一直在研究的代码

# Program Menampilkan seven segment


import RPi.GPIO as GPIO
import time

# Atur mode GPIO menjadi nomor pin
GPIO.setmode(GPIO.BOARD)
# Atur pin ke segment 7segment
sega = 29
segb = 31
segc = 32
segd = 33
sege = 35
segf = 36
segg = 37
#Atur GPIO
GPIO.setup(sega, GPIO.OUT)
GPIO.setup(segb, GPIO.OUT)
GPIO.setup(segc, GPIO.OUT)
GPIO.setup(segd, GPIO.OUT)
GPIO.setup(sege, GPIO.OUT)
GPIO.setup(segf, GPIO.OUT)
GPIO.setup(segg, GPIO.OUT)

#Definisikan angka 7 segment 0 sampai 9
def nol(): # segment a, b, f, e, c, d hidup
    GPIO.output(sega, GPIO.HIGH)
    GPIO.output(segb, GPIO.HIGH)
    GPIO.output(segf, GPIO.HIGH)
    GPIO.output(sege, GPIO.HIGH)
    GPIO.output(segc, GPIO.HIGH)
    GPIO.output(segd, GPIO.HIGH)
    time.sleep(1)
    GPIO.output(sega, GPIO.LOW)
    GPIO.output(segb, GPIO.LOW)
    GPIO.output(segf, GPIO.LOW)
    GPIO.output(sege, GPIO.LOW)
    GPIO.output(segc, GPIO.LOW)
    GPIO.output(segd, GPIO.LOW)
    time.sleep(1)
    return

def satu(): # segment b, c hidup
    GPIO.output(segb, GPIO.HIGH)
    GPIO.output(segc, GPIO.HIGH)
    time.sleep(1)
    GPIO.output(segb, GPIO.LOW)
    GPIO.output(segc, GPIO.LOW)
    time.sleep(1)
    return

def dua(): # segment a, b, g, e, d hidup
    GPIO.output(sega, GPIO.HIGH)
    GPIO.output(segb, GPIO.HIGH)
    GPIO.output(segg, GPIO.HIGH)
    GPIO.output(sege, GPIO.HIGH)
    GPIO.output(segd, GPIO.HIGH)
    time.sleep(1)
    GPIO.output(sega, GPIO.LOW)
    GPIO.output(segb, GPIO.LOW)
    GPIO.output(segg, GPIO.LOW)
    GPIO.output(sege, GPIO.LOW)
    GPIO.output(segd, GPIO.LOW)
    time.sleep(1)
    return

def tiga(): # segment a, b, g, c, d hidup
    GPIO.output(sega, GPIO.HIGH)
    GPIO.output(segb, GPIO.HIGH)
    GPIO.output(segg, GPIO.HIGH)
    GPIO.output(segc, GPIO.HIGH)
    GPIO.output(segd, GPIO.HIGH)
    time.sleep(1)
    GPIO.output(sega, GPIO.LOW)
    GPIO.output(segb, GPIO.LOW)
    GPIO.output(segg, GPIO.LOW)
    GPIO.output(segc, GPIO.LOW)
    GPIO.output(segd, GPIO.LOW)
    time.sleep(1)
    return

def empat(): # segment f, b, g, c hidup
    GPIO.output(segf, GPIO.HIGH)
    GPIO.output(segb, GPIO.HIGH)
    GPIO.output(segg, GPIO.HIGH)
    GPIO.output(segc, GPIO.HIGH)
    time.sleep(1)
    GPIO.output(segf, GPIO.LOW)
    GPIO.output(segb, GPIO.LOW)
    GPIO.output(segg, GPIO.LOW)
    GPIO.output(segc, GPIO.LOW)
    time.sleep(1)
    return

def lima(): # segment a, f, g, c, d hidup
    GPIO.output(sega, GPIO.HIGH)
    GPIO.output(segf, GPIO.HIGH)
    GPIO.output(segg, GPIO.HIGH)
    GPIO.output(segc, GPIO.HIGH)
    GPIO.output(segd, GPIO.HIGH)
    time.sleep(1)
    GPIO.output(sega, GPIO.LOW)
    GPIO.output(segf, GPIO.LOW)
    GPIO.output(segg, GPIO.LOW)
    GPIO.output(segc, GPIO.LOW)
    GPIO.output(segd, GPIO.LOW)
    time.sleep(1)
    return

def enam(): # segment a, f, g, c, e, d hidup
    GPIO.output(sega, GPIO.HIGH)
    GPIO.output(segf, GPIO.HIGH)
    GPIO.output(segg, GPIO.HIGH)
    GPIO.output(segc, GPIO.HIGH)
    GPIO.output(sege, GPIO.HIGH)
    GPIO.output(segd, GPIO.HIGH)
    time.sleep(1)
    GPIO.output(sega, GPIO.LOW)
    GPIO.output(segf, GPIO.LOW)
    GPIO.output(segg, GPIO.LOW)
    GPIO.output(segc, GPIO.LOW)
    GPIO.output(sege, GPIO.LOW)
    GPIO.output(segd, GPIO.LOW)
    time.sleep(1)
    return

def tujuh(): # segment a, b, c hidup
    GPIO.output(sega, GPIO.HIGH)
    GPIO.output(segb, GPIO.HIGH)
    GPIO.output(segc, GPIO.HIGH)
    time.sleep(1)
    GPIO.output(sega, GPIO.LOW)
    GPIO.output(segb, GPIO.LOW)
    GPIO.output(segc, GPIO.LOW)
    time.sleep(1)
    return

def delapan(): # segment a, b, c, d, e, f, g hidup
    GPIO.output(sega, GPIO.HIGH)
    GPIO.output(segb, GPIO.HIGH)
    GPIO.output(segc, GPIO.HIGH)
    GPIO.output(segd, GPIO.HIGH)
    GPIO.output(sege, GPIO.HIGH)
    GPIO.output(segf, GPIO.HIGH)
    GPIO.output(segg, GPIO.HIGH)
    time.sleep(1)
    GPIO.output(sega, GPIO.LOW)
    GPIO.output(segb, GPIO.LOW)
    GPIO.output(segc, GPIO.LOW)
    GPIO.output(segd, GPIO.LOW)
    GPIO.output(sege, GPIO.LOW)
    GPIO.output(segf, GPIO.LOW)
    GPIO.output(segg, GPIO.LOW)
    time.sleep(1)
    return

def sembilan(): # segment a, b, f, g, c, d hidup
    GPIO.output(sega, GPIO.HIGH)
    GPIO.output(segb, GPIO.HIGH)
    GPIO.output(segf, GPIO.HIGH)
    GPIO.output(segg, GPIO.HIGH)
    GPIO.output(segc, GPIO.HIGH)
    GPIO.output(segd, GPIO.HIGH)
    time.sleep(1)
    GPIO.output(sega, GPIO.LOW)
    GPIO.output(segb, GPIO.LOW)
    GPIO.output(segf, GPIO.LOW)
    GPIO.output(segg, GPIO.LOW)
    GPIO.output(segc, GPIO.LOW)
    GPIO.output(segd, GPIO.LOW)
    time.sleep(1)
    return

for i in range (0, 5): # Tampilkan angka 1 sampai 9 x5
    satu()
    dua()
    tiga()
    empat()
    lima()
    enam()
    tujuh()
    delapan()
    sembilan()

GPIO.cleanup()

我不知道问题出在哪里,我以为是Python-GPI模块相关,因为我对python的Raspbian没有任何问题-零售物价指数预装。在


Tags: outputgpiotimedefsegmentsleeplowhigh
1条回答
网友
1楼 · 发布于 2024-09-29 21:36:23

我也有同样的症状,Raspberry Pi2和UbuntuMate,0.5.11模块。我的代码要简单得多:

import time
import RPi.GPIO as GPIO
print "before GPIO.setmode"
GPIO.setmode(GPIO.BOARD)
print "before GPIO.setup"
GPIO.setup(11, GPIO.IN)
print "after GPIO.setup"

它在GPIO.设置. 我试着换回Raspbian看看能不能用。如果是这样,也许可以卸载并重新安装零售物价指数从源头那里。在

相关问题 更多 >

    热门问题