如图,SN74LVC4245 5V输入,3.3V输出直接到MCU,MCU配置如下:
ROM_GPIOPinTypeGPIOInput(SIGNAL_IN1_PORT, SIGNAL_IN1_PIN);
ROM_GPIOPinTypeGPIOInput(SIGNAL_IN2_PORT, SIGNAL_IN2_PIN);
ROM_GPIOPinTypeGPIOInput(SIGNAL_IN3_PORT, SIGNAL_IN3_PIN);
ROM_GPIOPinTypeGPIOInput(SIGNAL_IN4_PORT, SIGNAL_IN4_PIN);
ROM_GPIOPinTypeGPIOInput(SIGNAL_IN5_PORT, SIGNAL_IN5_PIN);
ROM_GPIOPinTypeGPIOInput(SIGNAL_IN6_PORT, SIGNAL_IN6_PIN);
ROM_GPIOPinTypeGPIOInput(SIGNAL_IN7_PORT, SIGNAL_IN7_PIN);
ROM_GPIOPinTypeGPIOInput(SIGNAL_IN8_PORT, SIGNAL_IN8_PIN);
当输入端一直为5V时,芯片读取到的信号刚开始正常,过半天(时间不固定)后读出来的信号就成了低,用示波器测单片机引脚的电平
为1V,此时MCU跟电平转换芯片都很烫,供电电压都正常,发生这种情况后,将5V端变为0V或MCU上电重新启动才能恢复正常,短接MCU的复位引脚重启系统后问题依然存在。(涉及到的引脚有PH0/PF4)
xyz549040622:
我怀疑是硬件哪里短路引起的,和MCU的配置没关系。
user4269983:
回复 xyz549040622:
硬件没有短路,已经排查,如果是短路问题就不会先正常然后再故障,重新上电有恢复正常的情况了
user4269983:
疑问:如果是软件问题,为什么复位后问题依然存在;如果是硬件问题,为什么重新上电又好了,难道是单片机内部有什么处理机制???
xyz549040622:
回复 user4269983:
那么在这里跟踪下,串口跟踪输出RST复位后系统执行的操作,以及涉及到IO的状态,能够引起的也就这些了。
user4269983:
回复 xyz549040622:
我现在怀疑是外部干扰引起单片机引脚内部短路或者保护,就是不知道这是什么机制
xyz549040622:
回复 user4269983:
这个就不清楚了,没碰过这样的情况。