看看我这个单片机代码有那些问题吗,串口一直用不了


#include <REGX52.H>
#include "DelayMs.h"
#include "UART.h"

unsigned char x;
sfr AUXR = 0x8e;
void UART_Init()
{
  AUXR=0x00;
    SCON=0x50;
    TMOD=0x20; //把TMOD的最低位置放置1,高四位不变
    TH1=0xfd;  //设定定时器重装值
    TL1=0xfd; //设定定时初始值
    ET1=1; //禁止定时器1中断
    TR1=1;     //启动定时器1
    EA=1;
    ES=1;
}
void UART_Send(unsigned char Byte)
{
    SBUF=Byte;
    while(TI==0);
    TI=0;
}

void main()
{
    UART_Init();
    UART_Send(0x5a);
        while(1)
       {
                 
       }
}
void UART_Routine() interrupt 4
{
    if(RI==1)
    {
        RI=0;
        x=SBUF;
        UART_Send(x+1);
    }
}

![img](https://img-mid.csdnimg.cn/release/static/image/mid/ask/152930872296190.jpg "#left")


【相关推荐】



  • 这个问题的回答你可以参考下: https://ask.csdn.net/questions/1051451
  • 这篇博客你也可以参考下:串口接收中断进不去,如何解决
  • 您还可以看一下 谢仁华老师的分布式集群发包框架进阶实战一课程中的 发包配置之方法定义小节, 巩固相关知识点
  • 除此之外, 这篇博客: 单片机程序框架设计与实现中的 为什么要有框架? 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:

    节约时间,减少错误。因为对于一种类型的程序它们代码结构体逻辑是一样的,同时有大量相似或者共同的地方。我们可以将这些共同的地方抽出来形成一个固定的程序框架,那么我们再开发新的同一种类型的程序时就可以套用这套框架。这样会大大提高我们的开发效率,同时由于这个框架是一套公众的大家都在使用的与维护的,使用它会使代码逻辑更不容易出错。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^