微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 串口中断从单片机返回的数据错误

串口中断从单片机返回的数据错误

时间:10-02 整理:3721RD 点击:

想让电脑发送一个多位数据到单片机,单片机将数据加1后返回到电脑,但返回数据出错,发1,返回1;发12,返回2;发123,返回24,程序如下,请问代码错在哪了,还是我发送的时候什么没设置好
#include <reg52.h>
typedef   unsigned char  uint8;
typedef   unsigned int   uint16;
uint8 num = 0;
void UART_init(void)
{
    SCON = 0x50;
    TMOD = 0x20;
    TH1  = 0xFD;
    TL1  = 0xFD;
    TR1  = 1;
    ES   = 1;
    EA   = 1;
}
main()
{
    UART_init();
    while(1);
}
void interrupt_uart() interrupt 4
{
    if(TI)
    {
        TI = 0;
        REN = 1;
    }
    if(RI)
    {
        RI = 0;
        num = SBUF;
        num++;
        SBUF = num;
        REN  = 0;
    }
}


Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top