平台为兆讯MH1903,移植时参考STM32F4。目前使用示波器打tick时间为10ms正常,使用aos_msleep(100)延时示波器打出来的延时时间为600ms。
如何设置aos_msleep时间基准为tick时间
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
针对您在兆讯MH1903平台上遇到的aos_msleep延时与tick时间不匹配的问题,可以尝试以下步骤进行调整:
aos_msleep(100)
函数后,实际延时达到600ms,表明系统延时功能未正确基于tick时间进行计算。os_tick_handler
等回调函数,确保每次tick中断能准确更新系统时间计数。aos_msleep
函数内部实现依赖于系统tick进行延时计算。您可能需要检查并调整该函数的实现逻辑,确保其正确地将毫秒级延时转换为基于tick的计数。
os_timer_start
, os_timer_stop
)与平台硬件及RTOS兼容且正确工作。aos_msleep(100)
的实际延时效果,确保调整生效且符合预期。请按照上述步骤检查并调整您的系统配置,以解决延时基准不匹配的问题。如果问题依旧存在,建议深入阅读相关HAL文档和RTOS内核说明,或考虑咨询具体平台和技术的支持团队。