我用单片机做和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;
}
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>