单片机串口发送十六进制数字,之间为啥会有个空格?

云水鱼 2019-07-28 02:38:28
#include<reg52.h>
unsigned char flag,a;
void main()
{

TMOD=0x20;//设置定时器1为工作方式2
TH1=0xfd; //装初值,定时器波特率9600
TL1=0xfd;
TR1=1;
REN=1;
SM0=0; //设置串口为工作方式1
SM1=1;
EA=1;
ES=1;
while(1)
{

if(flag==1)
{
ES=0;
flag=0;
SBUF=a;
while(!TI);
TI=0;
ES=1;
}
}
}

void ser() interrupt 4
{
RI=0;
a=SBUF;
flag=1;
}



...全文
1520 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
worldy 2019-12-18
  • 打赏
  • 举报
回复
你使用16进制接收,电脑端软件为了你 好阅读,特地额外插入的空格,实际是没有的
hello-hebin 2019-12-17
  • 打赏
  • 举报
回复
但是开始出现的是没有空格的,后来出现的才出现空格
dceacho 2019-07-29
  • 打赏
  • 举报
回复

void ser() interrupt 4
{
  if(RI==1)
  {
    RI=0;
    a=SBUF;
    flag=1;
  }
}
发送也会触发串口中断
云水鱼 2019-07-28
  • 打赏
  • 举报
回复
好的,非常感谢
yishumei 2019-07-28
  • 打赏
  • 举报
回复
十六进制显示有空格是串口助手的制作者自己定的,估计是为了便于观察
云水鱼 2019-07-28
  • 打赏
  • 举报
回复
等待等待等待
云水鱼 2019-07-28
  • 打赏
  • 举报
回复
等待大神解答
云水鱼 2019-07-28
  • 打赏
  • 举报
回复
等待大神解答

27,508

社区成员

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

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