最近再一次栽倒在这颗RS485 芯片上了,硬件说这和芯片功耗有点高,要控下电源, 结果10次有9次程序死机!
先上图,请各位高手看看,这电路有问题没有?
为什么我会说是RS485 芯片导致的死机?因为 只要不给它上电(拉高RS_EN),MCU 就不会死机。反复做实验,已经一般排除其它IO 对它的影响。还试过 直接把系统3V3 短接到VDD485 , 也不会死机。
最后终于找到一个既不死机又能正常用它的办法,就是 在给它使能上电(拉高RS_EN)之前,把TX,RX 两个脚分别设为带上拉电阻输出高电平,而且一定要输出高电平,输出低电平还是照样死机。至于根本原因,应该是rs485 收发器在上电时 ,有干扰信号(如浪涌,电磁干扰,噪声干扰)通过RX,TX 两个脚 传导到MCU 内部,导致MCU 逻辑混乱死机。对了,这颗MCU 是用内部时钟运行的 。