我想从调试助手里发送一个多位数到单片机上,然后单片机处理加1返回到电脑,结果我发1,返回1;发123,返回24;发12,返回2,这是什么问题啊,我发一段代码,大家能帮我看一下吗
#include<reg52.h>
#include"bstv51.h"
unsigned char num=0;
void Uart_Init();
void main()
{
Uart_Init();
while(1);
}
void Uart_Init()
{
TMOD=0X20;//设置定时器1工作方式为2,8位重装定时器
TH1=0XFD;
TL1=0XFD; //设置波特率为9600
SCON=0X50;//设置串口工作方式为1,8位元uart,开启接受允许
PCON=0X00;//波特率不加倍
EA=1;
ES=1;
TR1=1;
}
void Uart_Isr() interrupt 4
{
if(TI)
{
TI=0;
REN=1;
}
if(RI)
{
RI=0;
num=SBUF;
num++;
SBUF=num;
REN=0;
}
}