作者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://webptt.com/cn.aspx?n=bbs/Python/M.1578987166.A.E13.html
1F:→ s860134: 听起来怎麽比较像 os 层以下的问题? 01/15 20:58
2F:→ MasterChang: 用HAL无压力,你说呢? 01/15 23:58
3F:→ kanggy: 刚测试,只发送不接收就没这状况,对这硬体掌握度太低Orz 01/16 15:41
4F:推 jimmytzeng: 你用那一块板子?microbit吗 01/19 20:22
5F:→ kanggy: 用pyb v1.1; 後来用uart中断做接收, 就没有这问题了 01/28 21:06
6F:→ kanggy: CAN bus 还没试过能不能用中断做接收 01/28 21:07