我目前正在从事一个项目,该项目要求始终在后台运行一个进程,该进程将通过串行接口输出数据,并且一次只能有一个进程处于活动状态。我们需要创建一个触摸屏界面来控制有关采样率和其他一些因素的过程。我遇到的问题是如何管理此过程。这是在Raspberry Pi 3 B +上运行的,而触摸屏则使用kivy。由于我需要通过触摸屏进行管理,因此需要某种方式访问此后台进程以更改值,因为如果我要在UI中运行它,则触摸屏将冻结,因为我必须将读取内容放入一段时间永远不会退出的真实循环。
是一个如何格式化串行输出过程的示例。percent = calculate_percentage(data_rate, max_value)
while True:
percent.output_percentage()
time.sleep((1/data_rate) - 0.00055)
0.00055大约是百分比.output_percentage()需要运行多长时间,因为我们想要尽可能精确的采样率,并且如果不考虑该值,则过程运行的时间越长,漂移越大。如果有人对如何处理也有任何建议,我很想听听他们的意见。
我很想找到一种方法来管理此过程,并轻松更改值并杀死旧过程。