Для этого я использую Windows 7, Python 2.7.3 и Pyserial 2.6. Я использую COM6 для своего Arduino.Ошибка отправки серийных данных из Python + Pyserial в Arduino
Я пытаюсь отправить данные из программы Python, к Arduino читать, и он продолжает возвращать «ошибка SerialException
Вот код Python:.
import serial
import time
ser = serial.Serial('COM6', 9600, timeout=0)
var = raw_input("Enter something: ")
ser.write(var)
while 1:
try:
print ser.readline()
time.sleep(1)
except ser.SerialTimeoutException:
print('Data could not be read')
Вот Arduino код:
int incomingByte = 0;
void setup(){
// Open serial connection.
Serial.begin(9600);
}
void loop(){
if (Serial.available() > 0) {
// read the incoming byte:
incomingByte = Serial.read();
// say what you got:
Serial.print("I got: "); // ASCII printable characters
Serial.println(incomingByte, DEC);
}
}
Здесь ошибка я получаю в Python, когда я бегу сценарий:
Traceback (most recent call last):
File "C:/Users/admin/Desktop/test", line 3, in <module>
ser = serial.Serial('COM6', 9600, timeout=0)
File "C:\Python27\lib\site-packages\serial\serialwin32.py", line 34, in __init__
SerialBase.__init__(self, *args, **kwargs)
File "C:\Python27\lib\site-packages\serial\serialutil.py", line 261, in __init__
self.open()
File "C:\Python27\lib\site-packages\serial\serialwin32.py", line 62, in open
raise SerialException("could not open port %s: %s" % (self.portstr, ctypes.WinError()))
SerialException: could not open port COM6: [Error 5] Access is denied.
Как устранить эту ошибку? Python будет читать из Arduino просто отлично, но не писать на него.
несколько вещей, чтобы проверить: * Порт не открыт другой программой * Порт не открыт процессом питона, скрывающийся в фоновом режиме (check task manager) * Если вам нужны права UAC для доступа к последовательному порту –
Вы должны закрыть последовательное соединение в конце своей программы, используя ser.close(). Возможно, вам придется перезагрузить компьютер или отключить фоновый запуск экземпляров python, чтобы освободить порт. –
Спасибо за это! Это решило проблему. – bhssinger3