在Raspberry Pi上运行两个使用python引脚的程序时,其中一个会变慢。一个是磁传感器,另一个是温湿度传感器。后者是减缓速度的方法。它不是每2秒钟打印一次温度,而是每5至10秒打印一次。如果它出现在磁传感器中,运行速度会更快。
发布于 2015-10-21 00:27:16
看起来您的问题不是Python,而是IO漏洞。即使您使用的是不同的引脚,来自Raspberry的GPIO也使用相同的总线来处理所有的引脚,因此一个进程需要等待其他进程的使用,而不是时间。
你可以用来解决方案来解决这个问题,但是这样的话,很可能会有一些类似的东西来统一程序。
基本思想:将这两个程序混合在一个程序中。单一进程/线程来统治所有的读取。
改进的ideia:将您的代码划分为三个过程。然后,其中两个人只需读写一个数组,并使用来自GPIO的值。其中一个进程将是您的主要进程,并将一个SharedArray来处理GPIO数据。请记住,从RAM读取比从GPIO读取要好/快得多,所以只需使用Array更新IO中的状态即可。可以使用一个数组设置新值,使用另一个数组存储实际值。
不久前,我使用一些插座在一些线程上广播了一些IO数据,并可以获得更新的数据(从相机中获取的图片),并将其与间隔为100 to的线程共享,只是避免了IO间隙。因此,您可以使用SocketServer库和一些工人来传播信息,从而得到类似的结果。
https://stackoverflow.com/questions/33247819
复制相似问题