Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python ';bytesize';串行模块中的_Python_Size_Byte_Pyserial - Fatal编程技术网

Python ';bytesize';串行模块中的

Python ';bytesize';串行模块中的,python,size,byte,pyserial,Python,Size,Byte,Pyserial,我想用PySerial通过串口发送消息。串行构造函数的参数之一是“bytesize”。我一直在尝试serial.SEVENBITS和serial.EIGHTBITS,但没有发现有什么不同。文档有点模糊,我对Python和串行通信都是新手。 这只是设置了一个字节可以容纳的最大值,还是与有符号字节有关?有人能解释一下为什么我会用8加7吗? 我一直在寻找,但没有找到答案 感谢您从历史上看,通常只通过串行连接发送ASCII文本,可分为七位,第八位将用作奇偶校验标记,可指示数据是否正确传输 由于奇偶校验无

我想用PySerial通过串口发送消息。串行构造函数的参数之一是“bytesize”。我一直在尝试serial.SEVENBITS和serial.EIGHTBITS,但没有发现有什么不同。文档有点模糊,我对Python和串行通信都是新手。 这只是设置了一个字节可以容纳的最大值,还是与有符号字节有关?有人能解释一下为什么我会用8加7吗? 我一直在寻找,但没有找到答案


感谢您

从历史上看,通常只通过串行连接发送ASCII文本,可分为七位,第八位将用作奇偶校验标记,可指示数据是否正确传输

由于奇偶校验无法捕获偶数位的错误,并且根本无法更正数据,因此它没有那么大的价值,现代实践是使用8位数据,并在更高的协议层进行错误检测和更正

简而言之,您可能需要8位,但这取决于串行连接的另一端所期望的

更新:
从你的另一个问题来看,这听起来像是在对连接两端进行编程,并对消息进行校验和,因此使用8位绝对是最简单的。

历史上,通常只通过串行连接发送ASCII文本,串行连接包含7位,第八位将用作奇偶校验标记,可以指示数据是否正确传输

由于奇偶校验无法捕获偶数位的错误,并且根本无法更正数据,因此它没有那么大的价值,现代实践是使用8位数据,并在更高的协议层进行错误检测和更正

简而言之,您可能需要8位,但这取决于串行连接的另一端所期望的

更新:
从您的另一个问题来看,这听起来像是在对连接的两端进行编程,并对消息进行校验和,因此使用8位绝对是最简单的。

这是指每个传输字符中的数据位数。发件人:

数据位

每个存储单元中的数据位数 字符可以是5(对于Baudot代码), 6(很少使用)、7(表示真正的ASCII)、8 (适用于任何类型的数据,因为这与 一个字节的大小),或9(很少) 使用)。8个数据位几乎相同 在较新版本中普遍使用 应用。一般为5或7位 只有使用旧设备才有意义 比如电传打字机

大多数串行通信设计 发送每个字节内的数据位 首先是LSB(最低有效位)。 本标准也称为 “小endian”。也有可能,但是 很少使用的是“big-endian”或MSB (最高有效位)第一个串行 通讯。(有关详细信息,请参见Endianness) 有关位顺序的详细信息。)的顺序 位通常不可配置,但 数据只能在之前进行字节交换 发送


这是指每个传输字符中的数据位数。发件人:

数据位

每个存储单元中的数据位数 字符可以是5(对于Baudot代码), 6(很少使用)、7(表示真正的ASCII)、8 (适用于任何类型的数据,因为这与 一个字节的大小),或9(很少) 使用)。8个数据位几乎相同 在较新版本中普遍使用 应用。一般为5或7位 只有使用旧设备才有意义 比如电传打字机

大多数串行通信设计 发送每个字节内的数据位 首先是LSB(最低有效位)。 本标准也称为 “小endian”。也有可能,但是 很少使用的是“big-endian”或MSB (最高有效位)第一个串行 通讯。(有关详细信息,请参见Endianness) 有关位顺序的详细信息。)的顺序 位通常不可配置,但 数据只能在之前进行字节交换 发送


关于“大多数串行通信设计发送每个字节内的数据位LSB”,海报可能遇到的大多数串行硬件接口都是pyserial抽象位排序,仅提供字节接口。另一方面,LSB标准[UART(包括RS-232)]但MSB标准[SPI,I2C]@Jack,您应该按照您所需要的接口(通常为8,如上所述)进行连接。如果您控制着两端,那么您就没有什么理由使用7位,除非您有(不太可能)只涉及ASCII数据的需求组合,以及性能需求,因此跳过冗余的第8位的开销对您来说至关重要。re“大多数串行通信设计发送每个字节内的数据位LSB”海报可能遇到的大多数串行硬件接口都是pyserial抽象位排序,仅提供字节接口。另一方面,LSB标准[UART(包括RS-232)]但MSB标准[SPI,I2C]@Jack,你应该选择你所需要的任何东西(通常是8位,如前所述)。如果你能控制两端,那么你就没有理由使用7位,除非你有一个(不太可能的)结合仅涉及ASCII数据的要求和性能需求,跳过冗余第8位的开销对您来说至关重要。感谢Russell,非常感谢:)感谢Russell,非常感谢:)