串口调试助手发送数据一直不停

r17781383825 2017-11-07 07:52:33
# include<reg52.h>

typedef unsigned int u16; //对数据类型进行声明定义
typedef unsigned char u8;
void UsartInit()
{
SCON=0X50;//模式1
TMOD=0X20;//T1 定时/计数器1 方式2
PCON=0X80;//SMOD置1
TH1=0XF4;
TL1=0XF4;
ES=1;
EA=1;
TR1=1;
}

void main(void)
{
UsartInit(); //串口初始化
while(1);
}
void Usart() interrupt 4
{
u8 receivedata;

receivedata=SBUF;
RI=0;//清除接收中断标志位
SBUF=receivedata;
while(!TI)
TI=0;//清除发送完成标志位
}

大神些 帮我看看哪里有问题?
...全文
1864 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
r17781383825 2017-11-09
  • 打赏
  • 举报
回复
已经解决了 最后一个while少了一个分号
dceacho 2017-11-08
  • 打赏
  • 举报
回复

void Usart() interrupt 4
{
u8 receivedata;
if(RI==1)
{
receivedata=SBUF;
RI=0;//清除接收中断标志位
SBUF=receivedata;
while(!TI)
TI=0;//清除发送完成标志位
}
}
试试看
zgl7903 2017-11-08
  • 打赏
  • 举报
回复
是 485 接口? 发送时先关闭接收REN=0; 发送完了再打开接收REN=1;

27,375

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧