Buongiorno, Я пытаюсь отправить простую строку в последовательный порт, чтобы командовать инструментом для измерения шума.
Строки очень легко:
"М 1" = прибор на
"M 2" = инструмент выключен
"M 3" = начать меру
"М 4" = остановить меру
отправить строку в последовательный
Я нашел эту программу:
import serial
ser = serial.Serial(0) #Seleziona la porta seriale COM4
ser.baudrate = 9600 #Imposta il baudrate a 9600bps
ser.open() #apre la porta com
ser.close()
#verifica se la porta e' aperta
if ser.isOpen():
com_num = ser.portstr
print ("Porta " + com_num + " aperta")
#invia il comando alla seriale
buffer = "M 3"
ser.write(buffer)
#Loop d'attesa caratteri
num = 0
while num == 0:
num = ser.inWaiting()
#scarica il buffer della seriale
buffer = ser.read(num)
print ("Dati ricevuti dalla seriale:")
print buffer
ser.close() #chiude la porta
else:
print ("Porta seriale gia' in uso o inesistente")
s = raw_input("digita INVIA per uscire")
с ПОМОЩЬЮ LINUX
программа нормально, и у меня есть только некоторые проблемы, связанные с типом строки. На самом деле мне пришлось вставить возврат каретки, но я не могу этого сделать.
Я сказал, что программа в порядке, потому что инструмент поворачивается от включения до включения, когда я сделал свое первое соединение, и по видео я прочитал «Porta/dev/ttyS = aperta», что означает «открыть». Но это добавляет для любой строки, которую я отправляю. На самом деле это похоже на «инатилизацию» порта, а не на общение.
Тогда мне не удается отправить строку в правильном порядке, возможно, проблема возврата каретки.
С ПОМОЩЬЮ WINDOWS
Я не могу открыть порт, у меня есть ошибка отказано в доступе к порту, это ошибка:
Traceback (most recent call last):
File "C:/d.py", line 9, in
ser.open() #apre la porta com
File "C:\Programmi\Python26\lib\site-packages\serial\serialwin32.py", line 53, in open raise SerialException("could not open port %s: %s" % (self.portstr, ctypes.WinError())) serial.serialutil.SerialException: could not open port COM1: [Error 5] Accesso negato.
Можете ли вы помочь мне:
1. Управление для запуска программы под окнами
2. Управлять тем, чтобы точно указать строку с возвратом каретки ???
Thak you very much.
Стефано