当我用Python向调制解调器发送串行端口消息时,整数返回值是什么意思



如何解释以下代码中返回的4,该代码试图通过串行AT端口/dev/ttyUSB3向SIMCom 7600A调制解调器发送基本AT消息?

from serial import Serial
# If a "port" is given, then the port will be opened immediately.
ser = Serial(port="/dev/ttyUSB3", timeout=2, write_timeout=2)
# The following prints as "True"
print(ser.is_open)
# Turn GPS on
ser.write(b"ATrn")
>>> 4

这里是另一个例子,当我请求";参见GPS信息";,返回13:

ser.write(b"AT+CGPSINFOrn")
>>> 13

最后一个例子是,当我请求激活GPS时,它也会返回13:

ser.write(b"AT+CGPS=1,1rn")
>>> 13

谢谢!-Sean

它返回写入的数据的长度。以下是写入函数的来源:

def write(self, data):
"""Output the given string over the serial port."""
if not self.is_open:
raise PortNotOpenError()
#~ if not isinstance(data, (bytes, bytearray)):
#~ raise TypeError('expected %s or bytearray, got %s' % (bytes, type(data)))
try:
# must call overloaded method with byte array argument
# as this is the only one not applying encodings
self._port_handle.Write(as_byte_array(data), 0, len(data))
except System.TimeoutException:
raise SerialTimeoutException('Write timeout')
return len(data)

最新更新