我想pc通过串口助手发送1234的数据给stc15单片机,然后单片机返回1234,下面是我的程序,看看有什么问题,为什么串口助手没有接收到返回的数据。
#include<reg51.h>
#include<stdio.h>
#include<string.h>
#define uchar unsigned char
#define uint unsigned int
unsigned char flag,a,i,j;
sfr AUXR = 0x8e;
sfr TH2 = 0xD6; //0000,0000 T2高字节
sfr TL2 = 0xD7; //0000,0000 T2低字节
uchar table[];
void uart_init() //串口初始化
{
SCON = 0x50; //8位数据,可变波特率
AUXR |= 0x01; //串口1选择定时器2为波特率发生器
AUXR |= 0x04; //定时器2时钟为Fosc,即1T
TL2 = 0xE8; //设定定时初值
TH2 = 0xFF; //设定定时初值
AUXR |= 0x10; //启动定时器2
}
void main()
{
init();
while(1)
{
if(flag==1)
{
ES=0;
SBUF=table[1];
SBUF=table[2];
SBUF=table[3];
SBUF=table[4];
while(!TI);
TI=0;
flag=0;
ES=1;
}
}
}
void ser()interrupt 4
{
// RI=0;
while(!RI);
for(i=0;i<4;i++)
{
table[i]=SBUF;
RI=0;
}
flag=1;
}
|