我有一个在Raspberry Pi 2 B上运行的python脚本(在IDLE 2.7.13上),在这里我生成一个字符串缓冲区(如果我正确理解了字符串缓冲区的含义),每个字符串缓冲区都有6个随机的十进制数字,每个数字从0到500时间。使用while循环,我尝试通过raspberry Pi的串行端口将此字符串缓冲区发送到我的PC,并在腻子上显示结果。但是,腻子的产量不稳定。当我发送它时,它从不显示整个字符串,有时它会跳过字符串的大部分。每个循环中腻子上显示的字符数也是完全随机的。我认为这与代码中设置的串行端口参数有关,但是我不确定它们中的每个参数如何影响输出。您对这里的问题有任何想法吗?预先谢谢你。
#!/usr/bin/env python
import random
import decimal
import time
import serial
ser = serial.Serial(
port = '/dev/ttyAMA0',
baudrate = 9600,
parity = serial.PARITY_NONE,
stopbits = serial.STOPBITS_ONE,
bytesize = serial.EIGHTBITS,
timeout = 1
)
time.sleep(2)
counter = 0
#isws thelei edw ena time.sleep(2) gia na prolavei na anoiksei i seiriaki
while 1: # i while True:
x = float(decimal.Decimal(random.randrange(0, 5010))/10)
y = float(decimal.Decimal(random.randrange(0, 5010))/10)
z = float(decimal.Decimal(random.randrange(0, 5010))/10)
thita = float(decimal.Decimal(random.randrange(0, 5010))/10)
u_x = float(decimal.Decimal(random.randrange(0, 5010))/10)
u_y = float(decimal.Decimal(random.randrange(0, 5010))/10)
string_buffer = str(x)+","+str(y)+","+str(z)+','+str(thita)+','+str(u_x)+','+str(u_y)+'/'+'\n'
print string_buffer
ser.write(string_buffer)
time.sleep(1)
counter += 1
ser.close()