我有一个C代码(传感器的SDK),当我运行它时,它通过USB启动与传感器的连接,然后用回调监听传感器输出并打印它(我也写在一个文本文件)。在回调中每打印一个样本50毫秒。从python运行C代码并听取变量值
现在我想从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
我不是软件工程师,所以我可能不擅长事先编码。 任何人都可以帮助我吗?
谢谢。
您可能会研究开发一个[自定义C模块](https://docs.python。 org/2/extensions/extensions.html) – jedwards
看看'ctypes'。恕我直言,甚至回调是可能的。 – harandk
看看Cython。 –