2017-08-13 69 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 
    ...