[問題] serial port開啟問題

看板Python作者 (我是腦殘 Q_Q)時間9年前 (2016/04/26 23:19), 編輯推噓2(205)
留言7則, 2人參與, 最新討論串1/1
這幾天在測試機器的時候遇到麻煩的問題: 連接的三個sensor分別有不同的協定, 分別開serial port來IO傳輸。 現在問題是, 每次開機時候port都會跑掉(ex com4 com5會交換)。 偏偏我三個port要丟跟收的東西都不一樣, 他們的特性分別是: 一個會不斷丟出data給我, 其他兩個都是poll slave的作法, 但是其中一個是又連接了一個轉接板接"不少個"sensor, 另外一個則比較單純接三個。 我現在做法是都先開起來, 看誰會丟data就是那個比較特別的port1, 接下來再丟command找那個比較單純的poll slave, 剩下的那個就當他是最麻煩的port3...... 轉眼間if else已經刻有點多行, 而且sensor有時候也有點不太穩定, 各種time out 也讓程式一啟動之後要等有點久, 有時幾個lost往往就導致定位不到正確的port ID。 想請問大家都是用什麼方法或邏輯解決類似的問題? 我有點想直接從硬體再加幾個單晶片去另外控制, 或者從系統部分去指定? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.238.45.116 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1461683958.A.2AE.html

04/26 23:35, , 1F
直接從usb洞的序號 拿到port名稱啊
04/26 23:35, 1F

04/26 23:43, , 2F
感謝樓上 不過我list出來 都是一樣的adapter名稱
04/26 23:43, 2F

04/27 00:54, , 3F
你是用啥系統 以pi為例的話 路徑名稱會是固定 只有最後
04/27 00:54, 3F

04/27 00:55, , 4F
名稱不一樣 路徑名稱就是硬體usb的編號 所以只要是插同
04/27 00:55, 4F

04/27 00:55, , 5F
個孔 跑的時候再去抓那個路徑下的名稱就好~
04/27 00:55, 5F

04/27 00:57, , 6F
"/sys/devices/platform"
04/27 00:57, 6F

04/27 20:36, , 7F
嗯 pi沒錯 我試試看這個方法 謝謝
04/27 20:36, 7F
文章代碼(AID): #1N7uRsAk (Python)
文章代碼(AID): #1N7uRsAk (Python)