1

简单的代码:

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 驱动程序没有影响。

4

1 回答 1

1

首先你需要清除 NI MAX 数据库:打开 NI MAX -> 工具 -> 重置配置数据

然后卸载(而不是恢复)所有 NI 软件。

然后再次安装 NI DAQmx。

我也重新安装了 Anaconda,但我认为你不应该这样做。

于 2016-11-04T17:14:08.293 回答