python - 通过 Python API 使用 C 库时遇到问题 : What am I doing wrong?

标签 python c api

我将 Python 脚本与热电偶和热电偶读取器结合使用。为了与用 C 编写的热电偶读取器进行通信,我必须使用 API。该 API 是 PyDAQFlex 。热电偶读取器还附带一个用 C 语言编写的测试器脚本。我试图从热电偶读取器获取温度读数,但它只输出 CJC 值。

我的代码:

import daqflex

d = daqflex.USB_2001_TC()

def get_temperature():
    return float(d.send_message("?AI{0}:CJC/DEGC").encode("utf-8"))

我的代码的输出:

u'AI{0}:CJC/DEGC=23.8'

注意:23.8 不是温度。该值就是 CJC,如下面测试程序脚本的命令行输出所示。它是相关的,但不是我正在寻找的值(value)。

<小时/>

测试脚本的代码:

http://pastebin.com/Atsdy7X0 (要获取温度,我按“t”,然后按“k”,因为我有 K 型热电偶)。

测试脚本的命令行输出:

http://pastebin.com/jq4Rr4QX (这里的温度是准确的。这就是我想要插入到我的脚本中的内容。)

<小时/>

PyDAQFlex 脚本:

https://github.com/torfbolt/PyDAQFlex/blob/master/daqflex/devices.py (参见第 105 行)

热电偶读取器的 C 代码:

http://pastebin.com/rEDR9efR (不包含全部,仅包含相关部分。)

<小时/>

我真的很努力地想看到我的错误。这个exact piece of code似乎在 PyDAQFlex Github 页面上为其他人工作过,所以我非常困惑。我已经给软件的创建者发了邮件,Github 上有一个和我有类似问题的人,我只是在各种 IRC 聊天中花了 6 个小时。请帮我。如果有帮助,我使用了 this 的部分内容为热电偶读取器安装驱动程序和其他东西的教程。非常感谢。

最佳答案

如果 23.8 相关,但温度不正确,则存在校准问题。您能否打印校准时原始测试程序和 pydaqflex 从设备发送和接收的内容?

关于python - 通过 Python API 使用 C 库时遇到问题 : What am I doing wrong?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35420430/

相关文章:

python - pandas groupby 连接多列中的字符串

c - 隐式类型转换

python - .withColumn和.agg在pyspark中并行计算吗?

python - 如何使用 Python Altair 将 x 轴和 y 轴的交点从 0 移动到 1?

C 语言 - 这可能是段错误,但我不确定?

api - 如何使用 OWIN Oauth 从 OAuth Client Credentials 开始保护 Web Api?

javascript - 简单地从 api 渲染数据

c# - 如何在命名空间中路由混合 MvcApplication 和 WebApiApplication?

python - 将用户输入实现到神经网络中

c - C 中的开源基数/mtrie 实现?