Проблема последовательной связи в аппаратном интерфейсе с платформой Python
У меня есть одно оборудование, которое использует протокол асинхронного последовательного интерфейса, скорость 9600 бод, # Стартовые биты 1,# Биты данных 8, # Стоповые биты 1, Четность нет. Когда я связываю свое оборудование с помощью скрипта Python, используя устройство cp2102, это временное оборудование не отвечает, но когда я пытаюсь связать то же самое оборудование с Arduino nano, оно работает правильно.
Рабочий код Arduino:
void volt_currentTest()
{
Serial.write(0xDD);
Serial.write(0xA5);
Serial.write(0x03);
Serial.write(0x00);
Serial.write(0xFF);
Serial.write(0xFD);
Serial.write(0x77);
while(c != 0x77)
{
if(Serial.available())
{
if((c = Serial.read()) != -1)
{
Serial.println(c , HEX);
d[i] = c;
i++;
}
}
}
}
Код Python:
import serial
ser = serial.Serial(
'COM9', 9600,
parity=serial.PARITY_NONE,
stopbits=serial.STOPBITS_ONE
)
'''data = b'\xdd\xa5\x03\x00\xff\xfd\x77'
ser.write(data)'''
ser.write(b'\xDD')
ser.write(b'\xA5')
ser.write(b'\x03')
ser.write(b'\x00')
ser.write(b'\xFF')
ser.write(b'\xFD')
ser.write(b'\x77')
'''
ser.write('\xDD\r\n'.encode())
ser.write('\xA5\r\n'.encode())
ser.write('\x03\r\n'.encode())
ser.write('\x00\r\n'.encode())
ser.write('\xFF\r\n'.encode())
ser.write('\xFD\r\n'.encode())
ser.write('\x77\r\n'.encode())
'''
while True:
response = ser.read()
'''response = ser.readline()
'''
print(response)
Так что у кого-то есть идея, почему она не работает.....