Последовательная связь Arduino и Pyton, Pyton зависает и продолжает отправлять данные

Недавно я начал проект, в котором мне нужно соединить arduino и другое устройство через последовательный порт. И я настроил простое последовательное соединение между python и arduino. Я могу настроить соединение через терминал python, и оно работает просто отлично. Когда я набираю: arduino.write("1"), он получает данные только один раз. Однако, когда я запускаю этот код:

import serial

arduino = serial.Serial('/dev/ttyACM0', 115200, timeout=.1)

while True:
    arduino.write("1")

он пишет правильно, однако когда я останавливаю его с помощью Ctrl-C, он не прекращает отправку и продолжает отправлять на arduino. Перестает отправлять, когда я снова открываю последовательное. соединение с помощью терминала python.

Я понятия не имею, что вызывает это или как это можно определить. Буду очень признателен за помощь. Заранее спасибо:

, 👍0


1 ответ


Лучший ответ:

-1

Ваш код Python отправляет "1" на последовательный порт с ошеломляющей скоростью. Намного быстрее, чем они могут передаваться по последовательной линии. Поэтому, когда вы останавливаете свой код Python, последовательный порт продолжает отправлять, пытаясь извлечь все "1" из своего буфера. Когда вы снова открываете соединение, вы очищаете этот буфер, и он прекращает отправку.

,