У меня есть очень простой сценарий Python, который использует pySerial для отправки данных по последовательному порту в моего Ардуино. Когда я выполняю это линию за линией в оболочке Python, она работает просто великолепно, но когда я поместил ее в ".py" файл и попытку выполнить ее, ничего не происходит. Хотя последовательные световые сигналы на моем UART действительно высвечиваются. Таким образом, что-то проходит, но это - мусор (я проверил).
Вот простой код.
import serial
ser = serial.Serial('COM3',9600,timeout=.2)
ser.write('A')
ser.close()
Я уже попытался добавить сны, но ничто, кажется, не фиксирует его. Какие-либо идеи?
ОК, я разобрался!
Перед выполнением записи необходимо использовать вот такой код:
time.sleep(1)
ser.setDTR(level=0)
time.sleep(1)
Иначе ардуино по какой-то причине автоматически сбрасывается при получении последовательного соединения. ура!
Может быть, глупо, но попробуйте набрать только myscript.py в cmd.exe, если вы работаете в Windows. Я заметил, что в Windows вам не нужно вводить «python» перед именем скрипта. Это, конечно, для стандартной установки CPython в Windows.