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

作者: kanggy ((我還在,只是熱情不再))   2020-01-14 15:32:40
不好意思,沒找到 micropython 的版
不知道這邊有沒有人在使用這東西
去年入手 micropython 小板子,可以簡單的做一些在線修改控制動作
使用 CAN (50Kbps)或是 UART (115200 bps)跑通訊
使用timer每 10ms 設立旗標,在迴圈中偵測到後送出一筆資料,
收完資料後透過連電腦的USB打印出來
以 utime.ticks_us() 紀錄運作時間
發現
CAN 每運行 幾十ms會出現一次 1x ms 的空窗
UART 則是約 500ms 會出現一次 1x ms 的空窗
在示波器上也能觀察到這段空窗
想不透跑 168MHz 的單晶片,大部分操作都能在幾十 us內完成
為什麼會每隔一段時間就出現十幾 ms 無動作的狀態
作者: s860134 (s860134)   2020-01-15 20:58:00
聽起來怎麼比較像 os 層以下的問題?
作者: MasterChang (我愛ASM)   2020-01-15 23:58:00
用HAL無壓力,你說呢?
作者: kanggy ((我還在,只是熱情不再))   2020-01-16 15:41:00
剛測試,只發送不接收就沒這狀況,對這硬體掌握度太低Orz
作者: jimmytzeng (jimmytseng)   2020-01-19 20:22:00
你用那一塊板子?microbit嗎
作者: kanggy ((我還在,只是熱情不再))   2020-01-28 21:06:00
用pyb v1.1; 後來用uart中斷做接收, 就沒有這問題了CAN bus 還沒試過能不能用中斷做接收

Links booklink

Contact Us: admin [ a t ] ucptt.com