У меня есть скрипт на Python (на IDLE 2.7.13), работающий на Raspberry Pi 2 B, где я создаю строковый буфер (если я правильно понял значение строкового буфера) с 6 случайными десятичными числами от 0 до 500 каждоевремя.Используя цикл while, я попытался отправить этот строковый буфер через последовательный порт raspberry Pi на мой компьютер и отобразить результаты на замазке.Однако выход на замазку не является стабильным.Он никогда не отображает всю строку при отправке, а иногда пропускает большие части строки.Количество символов, отображаемых на замазке в каждом цикле, также совершенно случайно.Я считаю, что это как-то связано с параметрами последовательных портов, установленными в коде, но я не уверен, как каждый из них влияет на вывод.Вы хоть представляете, в чем здесь проблема?Заранее спасибо.
#!/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()