变频后导致rt_thread_delay执行异常

发表在 PM6 天前 [复制链接] 2 78

大家好,刚刚玩rtt,遇到一个问题请教一下大家,我在mian线程中调用 rt_pm_run_enter(PM_RUN_MODE_LOW_SPEED); 并在PM_RUN_MODE_LOW_SPEED回调中修改了MCU的主频,并重新根据新的频率配置了SysTick后,回到用户线程中执行第一次 rt_thread_delay 时会出现延时超长的情况,比如延时5ms,但实际会导致延时25ms左右,但是后续又正常了,这是怎么回事呢?是不是我pm组件移植上有问题。。

逻辑分析仪抓到的情况

逻辑分析仪抓到的情况

main线程

main线程

PM_RUN_MODE_LOW_SPEED

PM_RUN_MODE_LOW_SPEED
使用道具 举报 显示全部楼层 回复
最新评论 | 正序浏览
显示全部楼层 |楼层直达:
发表于 6 天前 | 显示全部楼层
切了频率,应该要把sytick的当前值重设一下,可能还是按之前的大数在走,所以第一次会比较久。
使用道具 举报 回复
发表于 前天 18:59 | 显示全部楼层
aozima 发表于 2019-11-8 19:478 l  a: z2 p0 Y1 u" S8 i7 S$ P( G
切了频率,应该要把sytick的当前值重设一下,可能还是按之前的大数在走,所以第一次会比较久。 ...

3 @% h. L; j! o' }谢谢你的回复,已经解决了,是芯片变频的问题,不是OS的问题
使用道具 举报 回复
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|RT-Thread开发者社区 ( 沪ICP备13014002号-1

有害信息举报电话:021-31165890 手机:18930558079

© 2006-2019 上海睿赛德电子科技有限公司

Powered by RT-Thread

快速回复 返回顶部 返回列表