2017-08-13 39 views
0

所以我在做一個RFID掃描器,我希望能夠然而,設置不同的模式,例如掃描兩次做一些事情比掃描一次,每當這個代碼運行:RFID掃描腳本綁定錯誤

import RPi.GPIO as GPIO 
GPIO.setwarnings(False) 
import signal 
import datetime 
import os 
import time 
import math 
import MFRC522 

MIFAREReader = MFRC522.MFRC522() 
Detected = False 

def Scan(): 
    counter = 0 
    (status,TagType) = MIFAREReader.MFRC522_Request(MIFAREReader.PICC_REQIDL) 
    if(status == MIFAREReader.MI_OK): 
     Detected = True 
     counter += 1 
     GPIO.cleanup() 
     time.sleep(2) 
    if(Detected == True and status == MIFAREReader.MI_OK): 
     counter += 1 
     GPIO.cleanup() 

    print counter 

while True: 
    Scan() 
    time.sleep(1) 

我得到這個錯誤:

UnboundLocalError: local variable 'Detected' referenced before assignment 

我是比較新的蟒蛇,所以我不知道這意味着什麼我做並沒有真正轉起來,我這樣理解會有人任何結果的任何研究,請解釋這裏發生了什麼,以及如何糾正這些錯誤。

+0

[另一UnboundLocalError的可能的複製在你現在必須明確聲明全局Python2.7](https://stackoverflow.com/questions/36772622/another-unboundlocalerror-in-python2-7) – ppperry

回答

0

sicne分配給強制它是一個局部變量的函數內部檢測,如果它應該使用全局變量

def Scan(): 
    global Detected 
    ...