stm32疑难杂症之电压不够程序跑飞

在开发阶段,如果出现程序不断重启的情况。

首先先检查是不是代码问题。

1.数组越界。定义的数组只有50个单元,但是程序运行的过程中,却给他赋给50+个单元。

2.中断耗时太长,刚出中断又进去了。这时的现象是程序一直在中断中执行,回不到主函数。 一般出现在中断嵌套中。

3.中断或主函数中有死循环,导致是否没有及时喂看门狗。

4.堆栈溢出。可以用static来避免

5.程序中使用malloc()函数没有释放。

如果没有发现具体的问题。

则开始检查硬件问题。

首先!!!

检查stm32的供电电压是否稳定,是否在正常工作电压范围内。

电源文波大小一定要小,一般Ldo供电在3.3v在几个ma ,在stm32的vdda 和vssa引脚一定要接磁珠,各个电源硬件要接滤波电容。

保证Vcc大于1.8V。当电压低至0.8V时,程序仍有可能执行。这时的现象是PC指针乱飞,有复位,死机,停在中断,时钟频率发生变化等现象。

相关推荐
Rousson3 小时前
硬件学习笔记--93 静电防护方案(电阻、磁珠、电感、TVS等)
笔记·单片机·学习
happyhappy没有句号3 小时前
嵌入式单片机一套通关学习笔记
笔记·单片机·嵌入式硬件·学习
悠哉悠哉愿意4 小时前
【嵌入式学习笔记】工程模板建立
笔记·嵌入式硬件·学习
d111111111d4 小时前
STM32外设基地址与寄存器偏移地址的深度解析
笔记·stm32·单片机·嵌入式硬件·学习
快乐的划水a4 小时前
nanoMODBUS 库
stm32
无聊到发博客的菜鸟4 小时前
使用STM32对SD卡进行性能测试
stm32·单片机·rtos·sd卡·fatfs
许商5 小时前
【stm32】cmake脚本(一)
stm32·单片机·嵌入式硬件
polarislove02145 小时前
8.1 时钟树-嵌入式铁头山羊STM32笔记
笔记·stm32·嵌入式硬件
染予6 小时前
对开漏输出的理解
单片机·嵌入式硬件