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

 

第一种,RTC

stm32外接一个RTC时钟芯片,使用方法就是记录当前时间,比如,当前时间是12点24分36秒。然后,在主函数里面循环查询时间,当时间到达14点24分36秒时,发送信息。

  • 误差在10秒到2分钟以内
  • 需要外部扩展RTC芯片

第二种,采用硬件中断

采用STM32内置定时器,比如采用定时器1,定时1秒钟。每次定时中断函数,里面的flag自动加1。当flag等于7200的时候,就表示两个小时到了。

  • 该方法误差在1秒以内
  • 不需外接RTC芯片

第三种,使用实时操作系统

将时间管理直接放权给实时内核,他会自动管理。

  • 不额外占用系统资源
  • 误差在1秒之内
  • 但是依靠系统内核(可以自己百度学习实时内核)

总结来说,如果就是很简单的程序,就采用方法二。如果程序较为复杂,可以尝试上个内核,时间管理直接内核来负责。
嵌入式单片机技术交流学习视频xyd118118



 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值