python - 根据另一个循环的条件中断一个循环 - Python
问题描述
我正在编写一个脚本来通过串行通信线路从连接到压力传感器的 MCU 接收数据。
这个想法是我会在一个循环中不断地轮询 MCU 以获取压力信息,并在另一个循环中收集数据。一旦压力不再恒定,我希望能够停止数据收集。
有两个while
循环,一个轮询 MCU,一个收集数据,但我需要它们同时运行,以便轮询循环可以为收集循环提供停止条件。
#Loop that polls MCU
def poll(serial_data):
data = serial_data
while data_in:
_, pressure = Get_data(data, 2000)
difference = np.diff(pressure[:,1])
if (all(i<1000 for i in difference) and all(i>-1000 for i in difference)):
print('Pressure constant. Start collecting.')
return True
else:
print('Pressure is not constant.') #break 2nd loop on this condition
return False
def some_other_function(serial_data):
input = ""
data = serial_data
#Loop to continously gather data
while (poll(data) == True): # I realise this line probably isn't correct
input_bytes = serial_data.read()
input_string = str(input_bytes,'utf-8')
input += input_string
# Want to break 1st loop now that data collection has stopped
我一直在研究多处理来执行此操作,但不确定如何实现它,以便一个循环依赖于另一个循环。
解决方案
推荐阅读
- corda - Corda 公证变更的影响
- docusaurus - Docusaurus 如何确定侧边栏中标题的顺序?
- python - 匹配 CSV 中的单元格以返回计算
- sql-server - 服务器内容似乎已过时。您想先构建和部署项目吗?
- ios - 如果 Crashlytics 抱怨我丢失的 dSYM,它会跟踪用户崩溃吗
- java - 如何在端点函数的主体中检索请求方法?
- python-3.x - 如何按第 n 个元素的最接近值对元组列表进行分组?
- go - 如何“禁用目录列表”和“自定义 404 页面”同时处理
- php-7 - 不带括号的php调用函数
- javascript - 如何监听“onLoad”事件