第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

如何停止鍵盤輸入的串行讀取

如何停止鍵盤輸入的串行讀取

慕哥6287543 2021-09-11 10:15:27
所以我正在嘗試制作一個(gè)程序來(lái)讀取我的 Arduino 的串口。這一切正常,但問(wèn)題是我無(wú)法在需要時(shí)阻止它。我的 arduino 不斷發(fā)送數(shù)據(jù)(沒(méi)關(guān)系)但我的腳本僅在 100 行讀數(shù)后停止(按照我的設(shè)置)。在這 100 個(gè)讀數(shù)之后,它會(huì)將列表保存到一個(gè) csv 文件中。我怎樣才能更早停止,例如在終端中輸入“停止”或“退出”并仍然保存我的數(shù)據(jù)?ctrl+c 只是停止我的腳本而不保存。我的代碼:import serialimport csvimport reimport pandas as pdimport timeportPath = "/dev/cu.usbmodem1411"       baud = 9600                     timeout = 5     # Secondsfilename = time.strftime("%Y%m%d") + "_shieldv1_water_data.csv"max_num_readings = 100def create_serial_obj(portPath, baud_rate, tout):return serial.Serial(portPath, baud_rate, timeout = tout)def read_serial_data(serial):serial.flushInput()     # buffer flushserial_data = []readings_left = Truetimeout_reached = Falsewhile readings_left and not timeout_reached:    serial_line = serial.readline()    if  serial_line == '':        timeout_reached = True    else:          serial_data.append(serial_line.decode('utf-8'))        if len(serial_data) == max_num_readings:            readings_left = Falsereturn serial_datadef save_to_csv(data, filename):with open(filename, 'w') as csvfile:    csvwrite = csv.writer(csvfile, delimiter = '\n')    csvwrite.writerow(data)serial_obj = create_serial_obj(portPath, baud, timeout)print("Reading serial data...")serial_data = read_serial_data(serial_obj)print("Saving to csv...")save_to_csv(serial_data, filename)print("Saved.")
查看完整描述

1 回答

  • 1 回答
  • 0 關(guān)注
  • 172 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)