Помогите с PySerial Странное поведение
Вот так работает
com = Serial('COM3', 115200, timeout=3)
s = input('> ').encode('utf-8')
com.write(s)
data = com.read(100)
print(data)
а если поменять на такое
com = Serial('COM3', 115200, timeout=3)
s = str('hi').encode('utf-8')
com.write(s)
data = com.read(100)
print(data)
не работает...
Ардуина получает строку hi и возвращает hi-hi. если вводить hi в input, проблем нет, но если это заменить присвоением строки, то не работает. я пробовал по разному и через b'hi' и bytes('hi', 'utf-8') и просто строкой и через str() только через input все нормально. Как починить?
Ответы (1 шт):
Автор решения: Eugene X
→ Ссылка
- Ты забыл символ переноса строки. "Hi\n" input по умолчанию возвращает строку с символом переноса строки.
- Кодировка ардуино ASCII, никак не UTF8
- Между операциями read/write желательно добавить небольшой delay.