STM32F030与其它设备通讯两个多星期都正常,但是搁置了一个多月(板子一直没有下电)后测试发现不能与设备通讯了。板子重新上下电后才可以正常通讯,请问有什么方法可以解决该问题? PS:使用的是HAL库,串口+DMA接收和发送。 |
stlink V3mini 调试器不能识别stm32f030F4P6芯片,有解决办法吗?
STM32F0 SMBus 中断怎么开启
STM32F072 无法清除EXTI4_15_IRQn pending标志,导致无法进入stop模式
基于GCC编译器的initcall在STM32如何实现?
想找一款pin to pin的MCU(参考STM32F105RC),支持CAN FD的,64PIN封装,各位小伙伴们有推荐吗
L9663如何使用上行缓冲区发送同步脉冲
如何使用定时器在任意IO输出PWM
下载到flash无法运行,开调试就能成功,是什么问题?
STM32是小端模式,但为什么Keil中memory窗口和反汇编窗口的32位指令不一致?
各位朋友,有没有STM32F0系列教程,最好是汇编语言的。
评分
查看全部评分
程序里有看门狗的,不像是MCU死机了,另外串口中断中是清标志位的。测试串口通信两三个星期都没有问题,搁置一个多月后就不能与设备通讯了,感觉是MCU的串口模块死机了,能否有状态位可以知道串口死掉?
没听过单独一个模块死机的 但串口有一个问题就是双方串口不能休眠 串口不支持热插拔 休眠以后就需要重新复位才能使用
这种问题不好找原因 从头至尾检查一遍 硬件和软件 有隐患的地方都处理 偶发性的问题最难搞
我现在发现这样的问题,MCU的串口波特率是9600,串口工具设置除9600外的值会造成MCU的串口通讯有问题,你有碰都过类似的情况吗?怎么处理的?谢谢!
是什么问题?误码率高吗? 误码率高的话 需要看双方的误码率都是多少 不同的主频不同的波特率会产生误码率 一般9600都是0误码率 比如51单片机选用11.0592MHz的晶振就是因为串口波特率的原因
不是误码率的问题,串口工具用波特率9600与MCU通讯一直正常,用其它波特率如38400给MCU发数据后,串口工具改回9600,MCU也收不到数据也发不出数据,就需要把MCU上下电后才能正常收发
MCU有看门狗没死,应该是串口模块死了
那就简单了啊,要么串口一直是中断了,要么串口波特率误码太高了,不能识别
不能正常通讯后,给MCU发数据还是可以进入串口中断的,只是数据都是0。现在处理的方式是连续5次收到数据都是0就重新初始化串口。
好的,谢谢!这两天再测试一下