完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
看门狗是防止程序跑飞的一种兜底方案,STM32有自己的片内独立看狗和线看门狗,但是很意外的发现了我测试片内的看门狗不好用,关闭了扇门的同时,我又发现了一扇窗,板子上有SP706S外部看门狗芯片,那么STM32 SP706S的测试就应运而生。
STM32和SP706S电路的部分说明示意图 关于SP706S文档的描述 对于SP706S来说,WDI是输入,那么对于STM32来说,对应连接的STM32引脚PA0就是输出(推挽输出)。 图中红框描述的意思是如果WDI这个引脚持续高电平或持续低电平到1.6秒的时间,内部看门狗唤醒WDO(上划线)持续低线。从上面的图可以实现WDO(上划线)和MR(上划线)连接;RESET(上划线)线划)又和STM32的NRST连接,从RESET(上划线)决定了STM32的复位效果。 总结一下,STM32这个角度出发,如果初始化了PA0为推挽输出,就算能了外部看门狗,PA0001.6s内变化一次高低数据实现喂狗,否则STM32就要被 初始化了。按照上述思想,写测试工程代码进行验证。 根据板子现有的资源2个LED灯,一个拨码开关。要实现测试效果的描述: 程序开始,初始化LED和拨码开关的GPIO,有2个灯,此时LED有2秒灭是的状态。再使能看门狗,即设置PA0的GPIO为推挽输出。程序进入循环,循环中判断拨码开关的状态,如果是1就喂狗,还可以喂狗。紧接着LED1和LED2亮灭,总共400毫秒。 测试过程,程序编译下载,最初拨码开关是0的状态,即不喂狗,程序执行的状态是LED有2秒灭,然后亮灭灯4次左右,就又灭了2秒,再次执行即过程。即外部看SP706S外部看门狗运行了,STM32程序重启了。再将拨码开关调为1的状态,程序不断亮灭,没有2秒左右的灭的状态,说明程序喂狗成功。 测试的主函数代码 z_hardware_sp706s.c z_hardware_sp706s.h |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1621 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1546 浏览 1 评论
980 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
686 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1599 浏览 2 评论
1867浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
650浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
518浏览 3评论
536浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
506浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-23 22:39 , Processed in 0.709832 second(s), Total 76, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号