标题: 单片机串口通讯发送数据是如何发的?具体过程不是很明白 [打印本页]

作者: abeimao    时间: 2019-1-12 09:36
标题: 单片机串口通讯发送数据是如何发的?具体过程不是很明白
各位好。串口通讯不明白请教一下,
  C51串口异步通讯发送命令(hex):《 7B 01 FF 01 01 01 02 7B》 这数据51单片是如何发的,是一次发7B 01 FF 01 01 01 02 7B。。还是先发7B 再01,再FF,。再如7B用转为1111011循环8次一个个发。。不 懂呀
作者: yousunny    时间: 2019-1-12 10:20
第二种是正确的。
记住按照 字节 发送,一个字节八个位,(检验位另说)。具体参考帖子或者百度:
https://blog.csdn.net/zjy900507/article/details/79789671
作者: xuyaqi    时间: 2019-1-12 10:55
先发7B 再01,再FF,7B在内存里就是1111011不用转,循环8次一个个发,这是硬件逻辑不用软件参与。
作者: @小湫    时间: 2019-1-12 11:01
不是可以通过串口发吗
作者: @小湫    时间: 2019-1-12 11:02
直接发报文
作者: wulin    时间: 2019-1-12 11:10
串口每次发送1个字节数据(8位二进制数),发送多字节数据串的顺序没有规定,是按通讯双方的通讯协议进行。
作者: kolinking    时间: 2019-1-12 11:21
《 7B 01 FF 01 01 01 02 7B》用什么顺序发,这个是自个儿定义的,大部份是当作一个字元一个字元发。
7B位元是01111011,这就从小的位元的开始发,也就是发1-1-0-1-1-1-1-0
作者: yaoji123    时间: 2019-1-12 13:07
C51串口通讯按字节发送,具体是8、9、10位是根据通讯协议,有你定,当要发送有字节送了发送寄存器SUBF后,硬件会根据程序设定的协议加入相应有位,根据波特率速度通过移位方式一位一位从串口发出。接收端一位一位接收有硬件通过移位方式根据协议从中取出所要有字节存入接收寄存器SUBF。发送、接收寄存器名称一样,在物理地址是二个98H、99H。
作者: Liu-Y    时间: 2019-1-12 13:24
8位发送,发送7B之后无需延时等待发送完成马上发下一个8位
作者: yzwzfyz    时间: 2019-1-12 14:14
本帖最后由 yzwzfyz 于 2019-1-12 14:32 编辑

上面说的都不全,查看串口原理章节,看完就明白了,主要是硬件部分。
作者: abeimao    时间: 2019-1-18 10:47
yousunny 发表于 2019-1-12 10:20
第二种是正确的。
记住按照 字节 发送,一个字节八个位,(检验位另说)。具体参考帖子或者百度:
https: ...

谢谢了
作者: abeimao    时间: 2019-1-18 10:47
yaoji123 发表于 2019-1-12 13:07
C51串口通讯按字节发送,具体是8、9、10位是根据通讯协议,有你定,当要发送有字节送了发送寄存器SUBF后, ...

谢谢了




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