Я работаю с Pyserial и у меня есть вопрос, касающийся лучших методов очистки входных и выходных буферов.В настоящее время я сбрасываю буфер вывода перед отправкой команды и сбрасываю ввод перед чтением ответа.Кажется, я иногда пропускаю начало ответа, поэтому я думаю об изменении моей программы для сброса буфера ввода перед отправкой команды.Я также рассматриваю возможность соединения своих функций отправки и получения, чтобы при отправке всегда вызывался прием и, как мы надеемся, ужесточился цикл.
def send_cmd(self, cmd_to_send):
self.ser.reset_output_buffer()
self.ser.write(cmd_to_send)
def receive_cmd(self):
self.ser.reset_input_buffer()
# Read logic below
С учетом перехода на что-то вроде этого
def send_cmd(self, cmd_to_send):
self.ser.reset_output_buffer()
self.ser.reset_input_buffer()
self.ser.write(cmd_to_send)
self.receive_cmd()
def receive_cmd(self):
# Read logic below