供电:

单片机工作有问题,首先查供电,有可能供电有问题,拿万用表看一下单片机的供电电压,最好是拿示波器抓一下电压波形,因为有可能电压不稳(例如电压跌落导致单片机运行异常复位或者通信异常)。如果供电芯片输出异常的话,先检查VCC和GND是否存在短路(因为如果电路短路的话,供电芯片大概率会过流保护,导致供电不对)。

image.png
复位:

检查复位引脚是否正确,有的芯片是高电平复位,有的芯片则是低电平复位,需要注意。检查复位管脚电压是否异常,如果芯片为低电平复位,而复位管脚又由于焊接,或者器件问题导致下拉到地的话,那么芯片会一直处于复位状态,无法正常工作。

image.png
晶振:

在使用外部晶振的情况下,如果以上几项检查无误,那么还需要检查晶振是否正常起振,有时晶振可能会起振异常,如果晶振工作异常,那么芯片就像心脏没有跳动一样,会无法正常工作。一般是有一颗主晶振,用于芯片的主要外设和时钟,还有一颗36.768kHZ的晶振用于15分频后(1Hz)做实时时钟。

image.png
程序:

还有程序,需要检查是否写入了死循环,这个需要连接仿真器分析,这部分需要软件的同事配合分析,是否程序中存在死循环,如果程序卡在了某个忽略的死循环,例如while内,那么程序将一直在while里面工作,无法跳出来,表现出来也是单片机工作异常。