Python .readline ()
Сначала позвольте мне предисловие: я новичок в python, здесь нет эго. У меня есть этот код, который я собрал с разных сайтов, конечная цель которого заключается в том, чтобы он выводил шестнадцатеричный код на чип OBD-II и ждал ответа. Этот ответ, также HEX, преобразуется в десятичную, обрабатывается и отправляется на выход. Довольно просто, верно?
Ну, есть две проблемы.
Одним из которых является то, что .readline () удаляет первую букву ответа.
Например, если бы я хотел "> Elm327", я бы вернулся "> lm327".
Другая проблема, большая из двух, когда я использую .readline (), я получаю запрос, который я отправил, например, только если я использую этот код ниже:
serialport.write("01 0D \r")
speed_hex = serialport.readline().split(' ')
speed = float(int('0x'+speed_hex[6:8], 0 ))
print 'Speed: ', speed, 'km/h'`
Я хочу. Прочесть, чтобы вернуться41 0D 15
вместо этого я получаю что-то вродеE\r\r01 0D \r \r"
speed_hex = serialport.readline().split(' ')
Это также возвращает ошибку, но я сделаю отдельный пост для этого.
есть идеи? Спасибо