单片机出现死机的问题
大家好,小弟遇到一个很奇怪的问题:单片机(STC8H1K17)容易出现死机的现象,此时绿灯和橙灯都没有按照程序的意思去闪烁,而且保持常亮(程序初始化已关灯),串口也不打印任何信息。解决此问题的办法是:屏蔽I2C总线的读写两个函数,缺一不可,或者单片机断电重启也可以解决问题,目前原因未知,请教大家帮忙分析指点,谢谢。扩展寄存器访问使能打开了没有?其它地方有没有进行关闭或者改写P_SW2寄存器? STCAI-32位8051 发表于 2023-3-22 17:02
扩展寄存器访问使能打开了没有?其它地方有没有进行关闭或者改写P_SW2寄存器? ...
扩展寄存器访问使用有打开了,其他地方没有使用P_SW2.
现有个客户也是出现了此类问题,客户询问:现在生产遇到了有些单片机出现死机问题,打开开关,亮灯后,就无法关闭,有没有可能单片机烧录过程静电造成的?大概出现此类现象有百分之20的几率,单片机断电重启后可解决。请问是什么原因造成的呢?求助大佬,目前客户没有使用到SPI、I2C、UART等功能。单片机型号是8H1K08
8051启蒙者 发表于 2025-1-16 16:35
现有个客户也是出现了此类问题,客户询问:现在生产遇到了有些单片机出现死机问题,打开开关,亮灯后,就无 ...
可能是逻辑错误造成死循环,或读高阻IO(且悬空)的状态,或电源问题
具体分析需要提供原理图PDF和程序(包括单片机型号、版本、ISP软件版本、下载工具型号、电源上下电波形、主时钟频率等硬件选项) 堆栈溢出?
程序问题? i2c操作的时候对时序有要求,如果没有满足时序就会卡死在wait等待中。
可能出现的情况有:下载后没有给i2c从设备断电,从设备仍然处于上次时序通讯操作中间部分。
所以对一些指令会进行忽视,导致两方通讯状态不同而卡死。
如果出现这个情况说明上电时序可能不对,需要对i2c的wait函数增加延迟跳出。
或者使用看门狗功能进行超时重启。
页:
[1]