同事用STC8F2K32S2开发一个小产品,两个串口都使用了。
STC8F2K32S2的串口1是烧写和调试口,在应用程序中切换到了P1.6、P1.7,结果第二次烧写时杯具了,再也写不进去。
同事找我帮忙,我先看了看原厂的手册,将P3.0口原设计中串接的电阻改成了原厂建议的二极管,再把烧写的波特率降到4800,
反复尝试,大概几十次能写进去一次。
再看看同事用的串口是SilconLab的CP2102 USB转串口,突发奇想,将原板上的电源断开,改为用CP2102 USB转串口板上的5V供电,加上开关,每次烧写前先断开,程序运行后再打开开关。
“上帝说要有光!”——一切OK!
分析原因,原板子上的电源是由220V AC-DC电源供电,而CP2102USB转串口是PC的开关电源供电,原烧写方式虽然共地,但相互间的干扰较大,改为用同一个电源后,干扰减小,一切问题迎刃而解。