【发布时间】:2017-11-11 16:20:35
【问题描述】:
我有一个 C 代码(传感器的 SDK),当我运行它时,它会通过 USB 启动与传感器的连接,然后通过回调监听传感器输出并打印它(我也在文本文件上编写)。在此回调中每 50 毫秒打印一个样本。
现在我想从 Python 运行这个 C 代码(因为我需要在 python 中实时分析数据)并且每当 C 中的回调函数生成一个新的输出(一个 16*1 的整数数组)时,我需要将它们传递给 python 代码。
我见过很少的方法来运行 C 代码,例如 Swig,但我认为这些方法在您调用 C 代码并获得它们的返回值时使用。 但就我而言,C 代码处于无限循环中,并且在主代码中不返回任何内容。我也没有这个选项从传感器中逐个读取样本,因为每次运行 C 代码时,我都应该通过 USB 连接到传感器,然后能够读取值,连接到传感器需要时间,我不能这样做一直都是。
这是我用来连接传感器和读取值的 SDK(C 代码)。 https://www.dropbox.com/s/s5rrrdy4mzrv54f/Main.c?dl=0
我不是软件工程师,所以我可能不擅长预先编码。 谁能帮我解决这个问题?
谢谢。
【问题讨论】:
-
你可能会考虑开发一个custom C module
-
看看
ctypes。恕我直言,甚至可以使用它进行回调。 -
看看 Cython。