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;
}
}
而且 串口中断也没进去 ,弄了很久不知道是什么问题! 展开
#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;
}
}
而且 串口中断也没进去 ,弄了很久不知道是什么问题! 展开
2个回答
意法半导体(中国)投资有限公司
2019-10-28 广告
2019-10-28 广告
意法半导体致力于引领单片机技术和产品的创新,推动生态系统的建设,为用户提供满意的产品和技术服务。意法半导体单片机产品线拥有业界宽广、极具创新力的32位产品系列 – STM32,覆盖超低功耗、超高性能方向,同时兼具一流的市场竞争力。STM32...
点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询