EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 行者~ABC 于 2020-11-13 09:45 编辑 5 b/ y& \7 }: g4 G1 H% d: a
6 K: [& d6 t) o第一种,RTCstm32外接一个RTC时钟芯片,使用方法就是记录当前时间,比如,当前时间是12点24分36秒。然后,在主函数里面循环查询时间,当时间到达14点24分36秒时,发送信息。 · 误差在10秒到2分钟以内 · 需要外部扩展RTC芯片 第二种,采用硬件中断采用STM32内置定时器,比如采用定时器1,定时1秒钟。每次定时中断函数,里面的flag自动加1。当flag等于7200的时候,就表示两个小时到了。 · 该方法误差在1秒以内 · 不需外接RTC芯片 第三种,使用实时操作系统将时间管理直接放权给实时内核,他会自动管理。 · 不额外占用系统资源 · 误差在1秒之内 · 但是依靠系统内核(可以自己百度学习实时内核) 总结来说,如果就是很简单的程序,就采用方法二。如果程序较为复杂,可以尝试上个内核,时间管理直接内核来负责。
: O4 P* \* [& U. q4 w: U( X' A0 Q& O4 t. k$ V1 O& v
6 P$ r3 s: P) Y% \2 I
% H3 b5 U) E t/ B# m3 U L4 Y1 }。
, k8 R( g9 |+ p/ |9 x
# u. u! g1 r( j& h |