作者kanggy ((我還在,只是熱情不再))
看板Python
標題[問題] micropython 執行時間不連續
時間Tue Jan 14 15:32:40 2020
不好意思,沒找到 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
→ s860134: 聽起來怎麼比較像 os 層以下的問題? 01/15 20:58
→ MasterChang: 用HAL無壓力,你說呢? 01/15 23:58
→ kanggy: 剛測試,只發送不接收就沒這狀況,對這硬體掌握度太低Orz 01/16 15:41
推 jimmytzeng: 你用那一塊板子?microbit嗎 01/19 20:22
→ kanggy: 用pyb v1.1; 後來用uart中斷做接收, 就沒有這問題了 01/28 21:06
→ kanggy: CAN bus 還沒試過能不能用中斷做接收 01/28 21:07