1

我想将我的 4x4 数字键盘与我的 Raspberry Pi 3B+ 一起使用,并按照本 YouTube 教程的说明进行操作:https ://www.youtube.com/watch?v=yYnX5QodqQ4但出现以下错误:

RuntimeError: You must setup() the GPIO channel first

这是我的 Python 代码:

import RPi.GPIO as GPIO
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BOARD)

MATRIX =    [   [1,2,3,'A'],
                [4,5,6,'B'],
                [7,8,9,'C'],
                ['*',0,'#','D']     ]        

ROW = [7,11,13,15]
COL = [12,16,18,22]

for j in range(4):
    GPIO.setup(COL[j], GPIO.OUT)
    GPIO.output(COL[j], 1)

for i in range(4):
    GPIO.setup(ROW[1], GPIO.IN, pull_up_down = GPIO.PUD_UP)

try:
    while(True):
        for j in range(4):
            GPIO.output(COL[j],0)

            for i in range(4):
                if GPIO.input(ROW[i]) == 0:
                    print MATRIX[i][j]
                    while(GPIO.input(ROW[i]) == 0):
                        pass

            GPIO.output(COL[j],1)

except KeyboardInterrupt:
    GPIO.cleanup()

我试图更改GPIO.setmode(GPIO.BOARD)GPIO.setmode(GPIO.BCM)删除GPIO.cleanup(),但没有任何效果。有谁知道如何解决这个问题?

提前致谢!

4

0 回答 0