RS232串口可不可以发送接收16位数据

2025-04-15 05:57:14
推荐回答(2个)
回答(1):

对串行通信来说,一次发送8位还是16位数据,其实对效率影响不大,因为所有的位都是一次一位地通过介质传输的,这正是串行通信对应于并行通信的本质区别。此外串行通信需要两端使用相同的“协议”,例如规定传输速率、数据位的个数、校验方式、连续1之间的停止位长度等、流控协议等,而标准协议只支持了7位或8位数据位的传输方式,因此你希望一次传输16位数据,即没有提升性能的实际意义,实现起来也很困难。

回答(2):

RS232串口可将16位数据分成两个字节(Bytes)按位发送来实现。
需要上下位机约定16位数据的高低字节顺序,先高后低或先低后高。发送和接收必须按同一约定,以相同的波特率传送。
字节(Byte /bait/ n. [C])是计算机信息技术用于计量存储容量的一种计量单位,也表示一些计算机编程语言中的数据类型和语言字符。
ASCII码:一个英文字母(不分大小写)占一个字节的空间,一个中文汉字占两个字节的空间。一个二进制数字序列,在计算机中作为一个数字单元,一般为8位二进制数,换算为十进制。最小值0,最大值255。如一个ASCII码就是一个字节。
串行接口 (Serial Interface) 是指数据一位一位地顺序传送。进行串行传输的接口,它一次只能传输1Bit。
波特率,单片机或计算机在串口通信时的速率。指的是信号被调制以后在单位时间内的变化,即单位时间内载波参数变化的次数,如每秒钟传送240个字符,而每个字符格式包含10位(1个起始位,1个停止位,8个数据位),这时的波特率为240Bd,比特率为10位*240个/秒=2400bps。又比如每秒钟传送240个二进制位,这时的波特率为240Bd,比特率也是240bps。(但是一般调制速率大于波特率,比如曼彻斯特编码)。波特率,可以通俗的理解为一个设备在一秒钟内发送(或接收)了多少码元的数据。它是对符号传输速率的一种度量,1波特即指每秒传输1个码元符号(通过不同的调制方式,可以在一个码元符号上负载多个bit位信息),1比特每秒是指每秒传输1比特(bit)。