我有一个 Arduino 通过 USB 连接到我的计算机。我的流线型服务必须获取这些数据并将其可视化。这是负责连接到端口然后获取数据的代码。
port_name = st.selectbox("Select PORT", [port.device for port in list_ports.comports()])
start_button = st.empty()
dataframe_widget = st.dataframe([])
if start_button.button('Start', key='start'):
serialPort = serial.Serial(port=port_name, baudrate=115200,
bytesize=8, timeout=2, stopbits=serial.STOPBITS_ONE)
start_button.empty()
if st.button('Stop', key='stop'):
serialPort.close()
pass
else:
while 1:
if serialPort.in_waiting > 0:
serialString = serialPort.readline()
new_data = list(map(int, serialString.decode('Ascii').split()))
dataframe_widget.add_rows(new_data)
当用户单击停止按钮时会出现问题。由于某种原因,该端口没有关闭,并且在不停止整个 Python 进程的情况下无法再次连接到它。如何在没有这些问题的情况下正确连接到端口?