51单片机串口通讯,数据在发送后,上位机没有接收到数据。

#include<Bjx_Type.h>#include<REG8F301A.h>#defineMODE10X40//模式1#defineMODE20x80//模式2sb... #include<Bjx_Type.h>
#include<REG8F301A.h>
#define MODE1 0X40 //模式1
#define MODE2 0x80 //模式2
sbit LED1=P1^7;
u8 Wdata,Rdata;
void SetIoInitPro(void);
void Uart_Init(void); //初始化UART
u8 Uart_WriteByte(u8 dat); //写字节
u8 Uart_ReadByte(void); //读字节
void main()
{
Uart_Init();
while(1);
}
/****************初始化UART**********************************************/
void Uart_Init(void)
{
SBDEN=1; //使能波特率发生器
SOVRH=0X05; //设置波特率
SOVRL=0XB2;
SCON = MODE1; //模式一
REN=1; //URATEN使能
ES=1; //打开串口中断
EA=1; //打开总中断
}
/*****************写 byte**************************************/
u8 Uart_WriteByte(u8 dat)
{ //写字符
SBUF=dat; //将数据发送到SBUF中
while(!TI); //等待数据发送完毕
TI=0; //软件清零
return 1;
}
/*********************读 byte**********************************/
u8 Uart_ReadByte(void)
{
u8 temp;
while(!RI); //是否接收完毕
{
temp=SBUF; //将SBUF中的数据接受读取
RI=0; //软件清零
}
return temp; //函数返回读取的数据
}

void Uart_Int(void) interrupt 4
{
if(TI)
{
TI=0;
SBUF=Wdata;
}
else if(RI)
{
RI=0;
Rdata=SBUF;
}
}
而且 串口中断也没进去 ,弄了很久不知道是什么问题!
展开
 我来答
做而论道
高能答主

2015-03-31 · 把复杂的事情简单说给你听
知道大有可为答主
回答量:3万
采纳率:80%
帮助的人:1.2亿
展开全部
51单片机,数据在发送后,上位机没有接收到数据。
而且,串口中断也没进去,弄了很久不知道是什么问题!

----

既然没有收到,也没有进入串口中断,
那么,你怎么就知道,数据发送出去了?

既然,你确信是发出去了,应该就是上位机的问题,
那么,你换一个上位机,再试试看。
查晓筠0i5
2015-03-30 · TA获得超过2752个赞
知道大有可为答主
回答量:2.1万
采纳率:1%
帮助的人:4959万
展开全部
需要给你做一份吗
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式