PyDAQmx.Task() 引发 RecursionError
PyDAQmx.Task() reises RecursionError
简单代码:
from PyDAQmx import Task
task = Task()
加注:
<...>
File "C:\Users\Adrian\Anaconda3\lib\site-packages\PyDAQmx\DAQmxFunctions.py", line 28, in mafunction
DAQmxGetExtendedErrorInfo(errBuff,2048)
ctypes.ArgumentError: argument 1: <class 'RecursionError'>: maximum recursion depth exceeded while calling a Python object
函数错误:
def catch_error_default(f):
def mafunction(*arg):
error = f(*arg)
if error<0:
errBuff = create_string_buffer(2048)
DAQmxGetExtendedErrorInfo(errBuff,2048) # <<<--- error here <<<---
raise DAQError(error,errBuff.value.decode("utf-8"), f.__name__)
elif error>0:
errBuff = create_string_buffer(2048)
DAQmxGetErrorString (error, errBuff, 2048);
# print "WARNING :",error, " ", errBuff.value.decode("utf-8")
raise DAQError(error,errBuff.value.decode("utf-8"), f.__name__)
return error
return mafunction
我不知道为什么。
这是在我尝试安装"instrumental-lib"和"NiceLib"(http://instrumental-lib.readthedocs.io/en/latest/ni-daqs.html)之后,但重新安装Anaconda、PyDAQmx和NIDAQmx驱动程序没有效果。
首先你需要清除NI MAX数据库:
打开 NI MAX -> 工具 -> 重置配置数据
然后卸载(不是恢复)所有 NI 软件。
然后重新安装NI DAQmx。
我也重新安装了 Anaconda,但我认为你不应该这样做。
简单代码:
from PyDAQmx import Task
task = Task()
加注:
<...>
File "C:\Users\Adrian\Anaconda3\lib\site-packages\PyDAQmx\DAQmxFunctions.py", line 28, in mafunction
DAQmxGetExtendedErrorInfo(errBuff,2048)
ctypes.ArgumentError: argument 1: <class 'RecursionError'>: maximum recursion depth exceeded while calling a Python object
函数错误:
def catch_error_default(f):
def mafunction(*arg):
error = f(*arg)
if error<0:
errBuff = create_string_buffer(2048)
DAQmxGetExtendedErrorInfo(errBuff,2048) # <<<--- error here <<<---
raise DAQError(error,errBuff.value.decode("utf-8"), f.__name__)
elif error>0:
errBuff = create_string_buffer(2048)
DAQmxGetErrorString (error, errBuff, 2048);
# print "WARNING :",error, " ", errBuff.value.decode("utf-8")
raise DAQError(error,errBuff.value.decode("utf-8"), f.__name__)
return error
return mafunction
我不知道为什么。
这是在我尝试安装"instrumental-lib"和"NiceLib"(http://instrumental-lib.readthedocs.io/en/latest/ni-daqs.html)之后,但重新安装Anaconda、PyDAQmx和NIDAQmx驱动程序没有效果。
首先你需要清除NI MAX数据库: 打开 NI MAX -> 工具 -> 重置配置数据
然后卸载(不是恢复)所有 NI 软件。
然后重新安装NI DAQmx。
我也重新安装了 Anaconda,但我认为你不应该这样做。