完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
STM32F030与其它设备通讯两个多星期都正常,但是搁置了一个多月(板子一直没有下电)后测试发现不能与设备通讯了。板子重新上下电后才可以正常通讯,请问有什么方法可以解决该问题?
PS:使用的是HAL库,串口+DMA接收和发送。 |
|
相关推荐
2个回答
|
|
这种问题最不好处理 先要确定一下是不是单片机死机了 加一个指示灯闪烁判断一下(不可以在中断中闪烁灯 必须在主程序中) 死机的话就用看门狗可以复位 当然最好是找出来是什么问题 主要是软件设计的问题 可能有些中断位开启以后 没有在中断函数中消除中断标志 平时不用没有触发 长时间搁置后 由于环境其他因素导致触发以后陷入死循环 导致死机
|
|
|
|
串口死掉的原因可能是由于硬件或软件问题导致的。
可能的原因包括: 1. 缓冲区溢出:长时间运行后,串口接收或发送的数据量可能超过了串口接收和发送缓冲区的容量,导致数据丢失或无法发送。 2. DMA传输错误:长时间运行后,DMA传输可能发生错误,导致无法正确接收或发送数据。 3. 电源问题:长时间运行后,电源稳定性可能受到影响,导致芯片或串口电路工作不正常。 解决方法: 1. 增加串口接收和发送缓冲区的容量,确保缓冲区足够大,以避免溢出现象发生。 2. 在代码中加入错误处理机制,例如在传输错误的时候重新初始化串口或重启芯片。 3. 检查电源稳定性,确保电源供应正常,可以通过添加电源过滤电路或使用更稳定的电源来解决该问题。 4. 如果问题仍然存在,可以考虑使用更高级的调试工具,如逻辑分析仪,以帮助分析问题所在。 注意:长时间运行后产生的问题也可能是由于其他原因引起的,因此需要仔细调查和分析问题。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1649 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1566 浏览 1 评论
994 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
694 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1613 浏览 2 评论
1872浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
656浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
527浏览 3评论
544浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
515浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-28 01:54 , Processed in 0.780272 second(s), Total 81, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号