我编写了一个Python脚本,我可以通过COM端口发送固定字节。
ser.write(bytes('0123456789',encoding='ascii'))
我想参数化脚本可以发送的字节数。
任何人都可以建议我如何做到这一点?
感谢。
答案 0 :(得分:1)
“随机”我认为你的意思是“任意”,即如何发送任意数量的字节......
您可以生成一系列重复数字,如下所示:
>>> ''.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