标题: 单片机串口通信如何连续发送接收一串数据? [打印本页]

作者: hax    时间: 2020-5-21 20:54
标题: 单片机串口通信如何连续发送接收一串数据?
51单片机串口通信如何发送和接收一串数据,如发送接收01110111
作者: hotpet    时间: 2020-5-22 03:02
如果是发送hex数,可以一次直接写入串口寄存器。如果发送字符串就每一位的数加0x30变为ASCII码分8次发送。
作者: wulin    时间: 2020-5-22 06:40
楼主对串口通信发送和接收数据串理解错误。串口每次发送和接收的最小单元是1个字节(8bit),由若干字节组成一帧的数据被称数据串。数据串的长度和每一个字节的含义是按事先的约定编写,这个约定被称作通讯协议。
作者: 适得府君书    时间: 2020-5-22 09:25
使用串口收发数据一般的步骤:
1.设置串口初始化参数。
2.编写串口中断函数。
51单片机的串口接收寄存器是SBUF.
接收数据是:
unsigned char  redata;
redata=SBUF;  //接收一位数据
SBUF=redata; //发送一位数据。
接收多位可以通过数组去接收数据。发送多位数据可以使用循环发送。
例发送多位数据:
void sedata(unsigned char *ch,unsigned char num)
{
       int n;
      for(n=0;n<num:n++)
     {
        SBUF=*(ch+n);
      }
}
大概就这样了。






欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1