2014-11-04 58 views
0

我正在嘗試使用覆盆子pi的GPIO引腳。所以爲此我安裝了SpiDev python模塊。但是,當我試圖運行我的程序時,我得到像'module' object has no attribute 'GPIO'錯誤。
那麼我該怎麼做才能擺脫這個問題。我的代碼如下如下:'SpiDev'對象沒有屬性'GPIO'

from PyQt4 import QtCore, QtGui 
import Rpi.GPIO as GPIO 
import time 
import spidev 
spi = spidev.Spidev() # for creating spi object 
GPIO.setmode(GPIO.BOARD) 

out_1 = 7 # GPIO pin no 7 
out_2 = 11 # GPIO pin no 11 
class Ui_MainWindow(object): 
    ... 
    ... 
    ... 
    def abc(self, parameter1): 
     spi.GPIO.setup(out_1, GPIO.OUT) 
     spi.GPIO.output(out_1, 1) 
     .... 
     .... 
     spi.GPIO.setup(out_2, GPIO.OUT) 
     spi.GPIO.output(out_2, 1) 
    .... 
    ... 
... 

...

運行此代碼我收到錯誤如下 「SpiDev」對象有沒有屬性「GPIO」

+1

我假設你從你的Pi運行這段代碼。看起來你沒有安裝gpio。嘗試在命令行輸入以下代碼並重新運行代碼:'sudo apt-get update' then 'sudo apt-get install python-dev' then 'sudo apt-get install python-rpi.gpio' – Ryan 2014-11-04 07:19:19

回答

0

嘗試安裝後RPI.gpio封裝做sudo easy_install RPi.gpio
如果這does'nt工作嘗試以下。

sudo apt-get update 
sudo apt-get dist-upgrade 
sudo apt-get install python-rpi.gpio python3-rpi.gpio 

我已經有這種情況,第一個命令修復它。

0

上面有GPIO沒有SPI對象,所以改變這一部分:

spi.GPIO.setup(out_1, GPIO.OUT) 
spi.GPIO.output(out_1, 1) 
.... 
.... 
spi.GPIO.setup(out_2, GPIO.OUT) 
spi.GPIO.output(out_2, 1) 

...這個:您需要爲您的操作

GPIO.setup(out_1, GPIO.OUT) 
GPIO.output(out_1, 1) 
.... 
.... 
GPIO.setup(out_2, GPIO.OUT) 
GPIO.output(out_2, 1) 

一切都在Rpi.GPIO模塊,因此導入spidev並創建spi對象並不是必需的。