Python 3:如何通过 COM(串行)端口发送随机字节数
Python 3: how to send random number of bytes over the COM(serial) port
我写了一个 Python 脚本,我可以在其中通过 COM 端口发送固定字节。
ser.write(bytes('0123456789',encoding='ascii'))
我想参数化脚本可以发送的字节数。
有人可以建议我怎么做吗?
谢谢。
"random" 我想你的意思是 "arbitrary",即如何发送任意数量的字节...
您可以像这样生成一系列重复数字:
>>> ''.join([str(i%10) for i in range(21)])
'012345678901234567890'
所需的字节数可以作为命令行参数传递给脚本。它的值将在 sys.argv[]
列表中可用。
import sys
import serial
try:
num_bytes = int(sys.argv[1])
except (IndexError, ValueError):
sys.stderr.write('Usage: {} num-bytes\n'.format(sys.argv[0]))
sys.exit(1)
ser = serial.Serial() # set up your serial port
digits = ''.join(str(i%10) for i in range(num_bytes))
num_written = ser.write(bytes(digits, 'ascii'))
像这样调用命令:
$ python3 send_bytes.py 42
我写了一个 Python 脚本,我可以在其中通过 COM 端口发送固定字节。
ser.write(bytes('0123456789',encoding='ascii'))
我想参数化脚本可以发送的字节数。
有人可以建议我怎么做吗?
谢谢。
"random" 我想你的意思是 "arbitrary",即如何发送任意数量的字节...
您可以像这样生成一系列重复数字:
>>> ''.join([str(i%10) for i in range(21)])
'012345678901234567890'
所需的字节数可以作为命令行参数传递给脚本。它的值将在 sys.argv[]
列表中可用。
import sys
import serial
try:
num_bytes = int(sys.argv[1])
except (IndexError, ValueError):
sys.stderr.write('Usage: {} num-bytes\n'.format(sys.argv[0]))
sys.exit(1)
ser = serial.Serial() # set up your serial port
digits = ''.join(str(i%10) for i in range(num_bytes))
num_written = ser.write(bytes(digits, 'ascii'))
像这样调用命令:
$ python3 send_bytes.py 42