#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);
}
}

看看我这个单片机代码有那些问题吗,串口一直用不了
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
关注【相关推荐】
- 这个问题的回答你可以参考下: https://ask.csdn.net/questions/1051451
- 这篇博客你也可以参考下:串口接收中断进不去,如何解决
- 您还可以看一下 谢仁华老师的分布式集群发包框架进阶实战一课程中的 发包配置之方法定义小节, 巩固相关知识点
- 除此之外, 这篇博客: 单片机程序框架设计与实现中的 为什么要有框架? 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
节约时间,减少错误。因为对于一种类型的程序它们代码结构体逻辑是一样的,同时有大量相似或者共同的地方。我们可以将这些共同的地方抽出来形成一个固定的程序框架,那么我们再开发新的同一种类型的程序时就可以套用这套框架。这样会大大提高我们的开发效率,同时由于这个框架是一套公众的大家都在使用的与维护的,使用它会使代码逻辑更不容易出错。
如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^解决 无用评论 打赏 举报