我想写一个可以在串口输入两个数字 如何串口接受后把两个数字求和并传出来,但是怎么写都显示不出来,求指点
#include <reg52.h>
typedef unsigned char uchar;
typedef unsigned int uint;
uchar save_data[3];
uchar i=0;
void uart_init(uchar baud)
{
TMOD |= 0X20;
SCON = 0X50;
PCON = 0X80;
TH1 = baud;
TL1 = baud;
ES = 1;
EA = 1;
TR1 = 1;
}
void main()
{
uart_init(0XFA);
while(1){
}
}
void uart() interrupt 4
{
if(RI){
save_data[i]=SBUF;
RI =0;
i++;
if(i==2){
SBUF=save_data[i-1]+save_data[i-2];
i=0;
}
while(!TI);
TI = 0;
}
}
串口助手输出显示,不要用ASCII,要用显示 二进制数。
串口助手发送也要用二进制数。
否则,你串口输出12,实际发的是0x31,0x32
单片机会返回 0x63 也就是小写字母 c