Python и serial port - странное поведение
- Войдите на сайт для отправки комментариев
Втр, 09/12/2014 - 10:29
Подскажите пожалуйста, пишу следующий код на питоне:
import serial, sys
# Set up serial port
try:
ser = serial.Serial("/dev/tty.usbserial-A700eRV8", 9600)
except serial.SerialException:
sys.exit()
ser.write('M')
ser.close()
На ардуино должен загораться светодиод при принятии "М". Работает, но следующим образом:
Как только открываю монитор порта (который встроен в ide Arduino), и исполняю скрипт питоновский еще раз - он начинает работать. Как только монитор порта закрываю, так перестает скрипт работать. Ощущение, что что-то мешает установить связь по последовательному порту когда монитор закрыт.
Какие могут быть причины? Может кто сталкивался с проблемой и знает как ее исправить?
Спасибо
Вы кажется забыли выполнить ser.open(), посмотрите примеры еще раз более внимательно.
import serial, sys # Set up serial port try: ser = serial.Serial("/dev/tty.usbserial-A700eRV8", 9600) except serial.SerialException: sys.exit() if not ser.isOpen() : ser.open() ser.write('M') if ser.isOpen() : ser.close()NeiroN,
в первую очередь спасибо за помощь! Но к сожалению, все равно проблема не исчезла. Стоит мне только закрыть монитор порта и попробовать выполнить скрипт еще раз - я вижу лишь моргание светодида и все. Запускаю монитор, выполняю скрипт - вижу в мониторе передачу данных, светодиод горит постоянно (как и должен)
Проблему решил следующим образом:
ser = serial.Serial("/dev/tty.usbserial-A700eRV8", 9600) ser.setDTR(False) time.sleep(1.5)