[問題] C# 串列傳輸撰寫技巧及工具請益

作者: james999 (無傷大雅)   2017-12-12 23:06:55
小弟最近在撰一個串列傳輸的小程式,
程式啟動後透過一個Timer不停的發送命令至串口,
但是因為串口另一端設備限制的緣故,
PC送出一次命令至串口後,必須等待設備回傳後才能再送下一次命令,
若是一直收不到設備回傳的命令時,且下次Timer觸發的時間又到了,
那麼希望本次的等待就放棄,重新回到Timer觸發時的行為。
板友能否指引些「關鍵字」或「技巧」幫助我完成這樣的功能呢?
謝謝大家。
作者: anumis (阿努米斯)   2017-12-13 01:47:00
這不是基本的Handshake嗎?一來一往,收到回復再才再發送你送出後,起一超時計算Timer, 如果在時限內對方回復了,那你就再次發送訊息,反之就不做任何事
作者: pzyc79   2017-12-13 07:27:00
C# Serialport 完整接收資料
作者: jamyang (Jack)   2017-12-13 20:06:00
等recieve的event觸發後再送data
作者: james999 (無傷大雅)   2017-12-14 11:34:00
jamyang 不過送的資料是在timer裡..不在read的callback
作者: singledream (魚大頭)   2017-12-29 10:17:00
timer維護命令,recieve event收到再去發送。不過你要維護好共用變數的話,記得保護機制要寫好。你等的命令通常都是專有的,如anumis及jamyang所敘沒等到你要的response也要注意一下。

Links booklink

Contact Us: admin [ a t ] ucptt.com