【问题标题】:How to structure my Python code?如何构建我的 Python 代码?
【发布时间】:2014-04-16 01:51:04
【问题描述】:

对于这有点含糊,我提前道歉,但我试图找出从高层次的角度编写我的程序的最佳方法。以下是我要完成的工作的概述:

  1. RasPi 以 115000 波特从串行端口上的高度传感器获取输入。
  2. 做一些 hex -> dec 数学运算并更新状态变量(俯仰、滚动、航向等)
  3. 使用 pygame 库根据模拟平视显示器上的状态变量进行一些图像处理
  4. 以 30 fps 的速度将图像输出到投影仪。

请注意,没有用户输入(目前)。

我遇到的问题是帧率。帧率必须是恒定的。我宁愿跳过数据包也不愿丢帧。

我可以通过两种方式来构建它:

  • 编写一个函数,调用该函数时,它会从串行总线获取数据并将状态变量作为输出输出。然后编写一个 pygame 循环,从里面调用这个函数。我对此的担忧是,如果串行端口在姿态消息的 end 开始被读取,它将不得不暂停并等待消息再次开始(几分之一秒,但可以导致丢帧)
  • 编写两个独立的模块,两个模块同时运行。一个连续从串行端口读取数据并尽可能快地更新状态变量。另一个只是进行图像处理,并在需要时获取最新的状态变量。但是,我实际上并不确定如何编写这样的多线程程序,也不知道 RasPi 将如何处理这样的程序。

【问题讨论】:

    标签: python multithreading buffer raspberry-pi


    【解决方案1】:

    我认为 RasPi 不能很好地运行多线程程序。尝试第一种方法,尽管看看多线程程序的结果会很有趣。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-27
      • 2013-10-08
      相关资源
      最近更新 更多