STC8G1K08A 串口无法烧录问题
现象描述
STC8G1K08A是不需要外置晶振的,因此只需要飞线出VCC GND TXD RXD 进行数据烧录即可,在首次烧录程序之后后续无法再次烧录。
问题分析
仔细阅读了数据手册后,看到其中一句话:
也就是说默认情况下P3.0和P3.1没有进行内部上拉,因此在下载器为3.3V电平时候不能很好的识别到电平。这里的做法很简单:
解决方法
1.对于已经烧录不进去的单片机,在外部对RXD和TXD进行10K-4.7K的上拉处理,即可烧录成功。
2.对于还未烧录的单片机为了避免此问题的发生在串口初始化时候 手动设置端口为推挽输出,修改方法如下:
void UART1_init()
{
P3M0 = 0;
P3M1 = 0; //设置P3端口的输出方式
SCON = 0x50;
TMOD = 0x00;
TL1 = BRT;
TH1 = BRT >> 8;
TR1 = 1;
AUXR = 0x40;
ES = 1;
wptr = 0x00;
rptr = 0x00;
busy = 0;
}