实时应用程序的时间管理
Time management for real-time applications
如何用python产生精确的脉冲?
from threading import Thread
import time
def runA():
while True:
print "a"
sendSignal(1)
time.sleep(0.0001)
sendSignal(0)
time.sleep(0.005)
if __name__ == "__main__":
t1 = Thread(target = runA)
t1.setDaemon(True)
t1.start()
while True:
sleep(10)
python 中的时间管理不精确。专门用于创建多线程 PWM 生成器(假设每个线程以特定速率发送数据)。有没有更好的方法来产生脉冲?精确的!
[解决方案与语言无关]
您的输出可能已被缓冲,因此您将一次性打印一大块。您可以尝试在每次打印后刷新标准输出,如
sys.stdout.flush()
我的解决方案是找到实时 OS
实际上 raspberry pi 有 raspbian OS
的实时补丁
更多信息:https://www.raspberrypi.org/forums/viewtopic.php?t=39951
启用它有点困难。但它正在工作,错误率急剧下降。
感谢@holdenweb 提供的实时提示 OS
如何用python产生精确的脉冲?
from threading import Thread
import time
def runA():
while True:
print "a"
sendSignal(1)
time.sleep(0.0001)
sendSignal(0)
time.sleep(0.005)
if __name__ == "__main__":
t1 = Thread(target = runA)
t1.setDaemon(True)
t1.start()
while True:
sleep(10)
python 中的时间管理不精确。专门用于创建多线程 PWM 生成器(假设每个线程以特定速率发送数据)。有没有更好的方法来产生脉冲?精确的!
[解决方案与语言无关]
您的输出可能已被缓冲,因此您将一次性打印一大块。您可以尝试在每次打印后刷新标准输出,如
sys.stdout.flush()
我的解决方案是找到实时 OS 实际上 raspberry pi 有 raspbian OS
的实时补丁更多信息:https://www.raspberrypi.org/forums/viewtopic.php?t=39951
启用它有点困难。但它正在工作,错误率急剧下降。
感谢@holdenweb 提供的实时提示 OS