你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

stm32延时两小时的方式

[复制链接]
gaosmile 发布时间:2020-11-24 21:45
第一种,RTC
STM32外接一个RTC时钟芯片,使用方法就是记录当前时间,比如,当前时间是12点24分36秒。然后,在主函数里面循环查询时间,当时间到达14点24分36秒时,发送信息。
· 误差在10秒到2分钟以内
· 需要外部扩展RTC芯片

第二种,采用硬件中断
采用STM32内置定时器,比如采用定时器1,定时1秒钟。每次定时中断函数,里面的flag自动加1。当flag等于7200的时候,就表示两个小时到了。
· 该方法误差在1秒以内
· 不需外接RTC芯片

第三种,使用实时操作系统
将时间管理直接放权给实时内核,他会自动管理。
· 不额外占用系统资源
· 误差在1秒之内
· 但是依靠系统内核(可以自己百度学习实时内核)
总结来说,如果就是很简单的程序,就采用方法二。如果程序较为复杂,可以尝试上个内核,时间管理直接内核来负责。

收藏 评论1 发布时间:2020-11-24 21:45

举报

1个回答
radio2radio 回答时间:2020-11-24 22:25:03
一楼有误! 以下我说的不对,也请网友指正。

第一种,RTC最准。 不然RTC就没有IC厂生产了,不准还要“外扩”就没有意义了。
独立的RTC IC有两种,一种是需要自己检测准确度的,通常是外接32768晶体,生产线检测准确度。做得好的,可以有+/-10ppm(误差很小),关键是要用批质量好的晶体,和专用检测设备(设备不贵,电子手表厂大量使用)。
另一种没有这么麻烦,IC厂已经帮您调整好了,买来就用,准确度有保证,当然价格也略高。

第二种,第三种,原理一样,准确程度取决于MCU的时钟源的准确度,可以很准,也可能很差。 如果软件做得好,可以进行一次出厂软件校准。 如果联网,还可以定时做时钟同步。

另外,STM32的各种IC,一般都有一内置的RTC,准确度取决于32768晶体,等于上面的第一种方法,一般不需要外置IC了。  注意,这个内置的RTC,通常都没有“自动万年历”的功能,需要软件补足。

所属标签

STM32团队

意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器


最新内容

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版