作者james999 (無傷大雅)
看板C_Sharp
標題[問題] C# 串列傳輸撰寫技巧及工具請益
時間Tue Dec 12 23:06:55 2017
小弟最近在撰一個串列傳輸的小程式,
程式啟動後透過一個Timer不停的發送命令至串口,
但是因為串口另一端設備限制的緣故,
PC送出一次命令至串口後,必須等待設備回傳後才能再送下一次命令,
若是一直收不到設備回傳的命令時,且下次Timer觸發的時間又到了,
那麼希望本次的等待就放棄,重新回到Timer觸發時的行為。
板友能否指引些「關鍵字」或「技巧」幫助我完成這樣的功能呢?
謝謝大家。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.230.139.65
※ 文章網址: https://webptt.com/m.aspx?n=bbs/C_Sharp/M.1513091218.A.BFE.html
※ 編輯: james999 (61.230.139.65), 12/13/2017 00:21:27
1F:推 anumis: 這不是基本的Handshake嗎?一來一往,收到回復再才再發送 12/13 01:47
2F:→ anumis: 你送出後,起一超時計算Timer, 如果在時限內對方回復了, 12/13 01:50
3F:→ anumis: 那你就再次發送訊息,反之就不做任何事 12/13 01:50
4F:推 pzyc79: C# Serialport 完整接收資料 12/13 07:27
5F:推 jamyang: 等recieve的event觸發後再送data 12/13 20:06
6F:→ james999: jamyang 不過送的資料是在timer裡..不在read的callback 12/14 11:34
7F:→ singledream: timer維護命令,recieve event收到再去發送。不過 12/29 10:17
8F:→ singledream: 你要維護好共用變數的話,記得保護機制要寫好。 12/29 10:18
9F:→ singledream: 你等的命令通常都是專有的,如anumis及jamyang所敘 12/29 10:20
10F:→ singledream: 沒等到你要的response也要注意一下。 12/29 10:21