[問題] micropython 執行時間不連續

看板Python作者 ((我還在,只是熱情不再))時間4年前 (2020/01/14 15:32), 編輯推噓1(105)
留言6則, 4人參與, 4年前最新討論串1/1
不好意思,沒找到 micropython 的版 不知道這邊有沒有人在使用這東西 去年入手 micropython 小板子,可以簡單的做一些在線修改控制動作 使用 CAN (50Kbps)或是 UART (115200 bps)跑通訊 使用timer每 10ms 設立旗標,在迴圈中偵測到後送出一筆資料, 收完資料後透過連電腦的USB打印出來 以 utime.ticks_us() 紀錄運作時間 發現 CAN 每運行 幾十ms會出現一次 1x ms 的空窗 UART 則是約 500ms 會出現一次 1x ms 的空窗 在示波器上也能觀察到這段空窗 想不透跑 168MHz 的單晶片,大部分操作都能在幾十 us內完成 為什麼會每隔一段時間就出現十幾 ms 無動作的狀態 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.137.17.174 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1578987166.A.E13.html

01/15 20:58, 4年前 , 1F
聽起來怎麼比較像 os 層以下的問題?
01/15 20:58, 1F

01/15 23:58, 4年前 , 2F
用HAL無壓力,你說呢?
01/15 23:58, 2F

01/16 15:41, 4年前 , 3F
剛測試,只發送不接收就沒這狀況,對這硬體掌握度太低Orz
01/16 15:41, 3F

01/19 20:22, 4年前 , 4F
你用那一塊板子?microbit嗎
01/19 20:22, 4F

01/28 21:06, 4年前 , 5F
用pyb v1.1; 後來用uart中斷做接收, 就沒有這問題了
01/28 21:06, 5F

01/28 21:07, 4年前 , 6F
CAN bus 還沒試過能不能用中斷做接收
01/28 21:07, 6F
文章代碼(AID): #1U7MwUuJ (Python)