单片机做和pc串口通信的实验时,串口不稳定?

2020-01-30 14:04发布

我用单片机做和pc串口通信的实验时,
一直出现不稳定情况,
即串口调试助手正常收发数据一段时间(十来秒)后,
会出现一次设备刷新,
相当于串口被拔出然后马上又插上,同时先后
伴随一般usb设备拔 插 的两种声音。

由于我是笔记本没有串口,所以是用cp2012 来usb
转ttl uart来和51单片机通信的。

51的代码不知道是否有问题:
#include<reg52.h>
bit start_to_sent_flag=0;

void UART_init();

void main(void)
{
        unsigned char ctxt=0;
        UART_init();       

        while(1)
        {
                if (start_to_sent_flag)
                {
                        SBUF=ctxt;
                        ctxt+=1;
                        start_to_sent_flag=0;
                }
        }
}

void UART_init()
{
        SCON = 0x50;
       
       
        TMOD = 0x20;
       
        TH1 = 0xF3;
        TL1 = 0xF3;

        PCON = 0x80;
       
        TR1 = 1;
        ET1 = 0;
        ES = 1;
        PS = 1;
        EA = 1;
}


void serial() interrupt 4 using 3
{
        unsigned char receive_it;
        if (TI==1){
                TI=0;
        }
        if (RI==1){
                receive_it=SBUF;
                if (receive_it=='P') start_to_sent_flag=1;
                RI=0;
        }
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。