我用usb转串口连接单片机和电脑的,功能是在上位机上用串口调试助手发送一个字符x,单片机收到字符后返回给上位机“I get x”.程序和串口调试助手的图如下:
#include <reg51.h>
#define uint unsigned int
#define uchar unsigned char
uchar flag,a,i;
uchar code table[]="I get";
void init()
{
TMOD=0x20;
TH1=0xfd;
TL1=0xfd;
TR1=1;
REN=1;
SM0=0;
SM1=1;
EA=1;
ES=1;
}
void main()
{
init();
while(1)
{
if(flag==1)
{
ES=0;
for(i=0;i<6;i++)
{
SBUF=table[i];
while(!TI);
TI=0;
}
SBUF=a;
while(!TI);
TI=0;
ES=1;
flag=0;
}
}
}
void ser() interrupt 4
{
RI=0;
a=SBUF;
flag=1;
}
我试过发送字符,但就是没用,希望大神解疑
实物啊!我用usb转串口连接单片机和电脑的,波特率都设置的9600,图和程序写的一清二楚啊
stc89c52rc
追答建议用烧写软件自带的串口助手
这行,下面加一句话
TMOD = 0x20;
SCON = 0x50;
推荐串口调试助手啊
追答那句话加上了吗?
追问加了,还是一样,我觉得我需要换个串口调试助手
追答换烧写软件自带的啊
追问自己想办法算了,不管如何,还是谢谢你!
本回答被提问者采纳