stm32看门狗程序介绍,硬件看门狗和软件看门狗stm32
今天小编为大家分享Windows系统下载、Windows系统教程、windows相关应用程序的文章,希望能够帮助到大家!
对ST提供的标准代码,我们做了一个小改动。
改动虽小,却大有讲究。
话说,几天前,经过一番研究,
没有从芯片厂家获得官方的代码库。
决定自力更生,今天开始在ST提供的system_stm32f0xx.c做一些修改。
使得开源代码扫描blackduck不再匹配上ST的代码。
同时,在代码中增加了使能读保护的功能。
在做代码修改时,想起来几年前对st提供的代码做了一个小修改。
1) 在设置系统时钟之前,做好watchdog的设置,同时使用watchdog。
2) 在使能外部时钟,并检测外部时钟是否ready时,注释掉超时判断的变量。
这个改动基于以下的考虑:
1) 对于ST的代码,如果在超时时间内没有检测到外部时钟ready,则退出等待并且切换到内部时钟。
2) 内部时钟精度比较差,精度受温度影响比较大。在全温度范围内仅能做到5%左右的精度。
3) 外部晶振在上电过程中可能因为时序会出现不起振的情况。
4) 如果切换到内部时钟,应用程序没有再进一步检测ready状态以及HSE相关的寄存器,根据应用逻辑很难判断是否使用内部时钟。
5) 串口以及我们类似KNX的通信对时钟精度要求比较高,当精度低于3%时,可能导致误码。
经过我们这一改动,如果外部晶振因为上电时序等原因,不能启动,则会发生看门狗超时,导致处理器重新上电,同时晶振部分电路也会重新初始化,达到了检测错误,同时出错重试的目的。
当使用st的代码库时,不能闭着眼睛使用,应该深入了解实现代码,特别应该分析代码的异常处理是否有问题。
wWw.Xtw.com.Cn系统网专业应用软件下载教程,免费windows10系统,win11,办公软件,OA办公系统,OA软件,办公自动化软件,开源系统,移动办公软件等信息,解决一体化的办公方案。
免责声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。内容仅供参考使用,不准确地方联系删除处理!
联系邮箱:773537036@qq.com