Я создаю сценарий python для чтения и записи I2 C. Сценарий также обрабатывает тестовые сценарии (также в python) для отправки оборудования. Тестовые сценарии ранее отправлялись через GUI, но мой сценарий игнорирует использование GUI и напрямую обращается к драйверу I2 C. Если тестовые сценарии плоские, нет проблем. Однако, если есть вложенная функция или глобальная переменная, есть ошибка:
def main():
board=usb2any()
board.ReadI2C(0x58,0x0)
board.WriteI2C(0x58,0xBC,0x40)
execfile(f1)
if __name__ == "__main__":
main()
Тестовый код "f1", если он содержит только коды, подобные приведенным ниже, работает нормально
board.ReadI2C(0x58,0x2)
board.WriteI2C(0x58,0x20,0x10)
если это выглядит так: пример тестового сценария 1
V1=0
def fun1():
if V1==1: # error here saying global variable V1 not defined
Другой пример неудачного случая: пример тестового сценария 2
ff(0x10,0x9)
def ff(v1,v2):
fun2(v1) #Error here saying fun2 not defined
def fun2 (vv): vv = 0
Есть идеи, как это решить? предпочитайте не трогать тестовые сценарии, потому что они были использованы с GUI.