发 帖  
原厂入驻New
[经验]

stm32如何延时两小时,用哪种方式好?

2020-11-13 09:40:19  2470 单片机 STM32 嵌入式 PCB c语言
分享
5
第一种,RTC
STM32外接一个RTC时钟芯片,使用方法就是记录当前时间,比如,当前时间是122436秒。然后,在主函数里面循环查询时间,当时间到达142436秒时,发送信息。
· 误差在10秒到2分钟以内
· 需要外部扩展RTC芯片
第二种,采用硬件中断
采用STM32内置定时器,比如采用定时器1,定时1秒钟。每次定时中断函数,里面的flag自动加1。当flag等于7200的时候,就表示两个小时到了。
· 该方法误差在1秒以内
· 不需外接RTC芯片
第三种,使用实时操作系统
将时间管理直接放权给实时内核,他会自动管理。
· 不额外占用系统资源
· 误差在1秒之内
· 但是依靠系统内核(可以自己百度学习实时内核)
总结来说,如果就是很简单的程序,就采用方法二。如果程序较为复杂,可以尝试上个内核,时间管理直接内核来负责。
嵌入式单片机技术交流学习视频xyd118118



陈新 2020-11-13 21:55:50
实时操作系统太难学了
回复

举报

评论

高级模式
您需要登录后才可以回帖 登录 | 注册

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。 侵权投诉
发经验
关闭

站长推荐 上一条 /7 下一条

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