Я очень сожалею, что задал еще один вопрос здесь через день.Python: serial.readline() - как определить EOL от n до n n
Новая проблема в деталях: Я подключил лазерный дальномер от HOKUYO к моему RaspBerryPi.
соединения и т.д. работы найти, благодаря serial.py
Моя единственная проблема Ist, Венна Я посылаю команду, я получаю эхо и метку времени + \ п назад.
Данные в буфере выглядит следующим образом:
MD000007200001\n
2Dh1\n
\n\n
После этого датчик передает измерение, которое блокирует как
MD000007200001\n
2Dh1\n
0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C\n
0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C\n
0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C\n
0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C\n
.....
...
0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C\n
\n\n
читать эти данные, на данный момент я использую ReadAll(). Также попробовал readlines(). В обоих случаях у меня возникла проблема, которая должна подождать до тайм-аута, который был установлен на 1. Это занимает слишком много времени для приложения в реальном времени и того факта, что этот датчик может измерять каждые 120 мс. Если я установил таймаут в 0, я часто пропускаю некоторые данные, и все рушится, потому что мне нужен весь набор данных для моего caluclation.
Я также читал, что существует возможность установить EOL для readline как readline (eof = '\ n \ n'), но с Python 3.x это не сработает.
Кажется, есть второй вариант, на котором написана моя функция readline.
Но я являюсь абсолютным новичком в питоне. поэтому я не знаю, с чего начать.
Уместно есть некоторые дополнительные опции.
С уважением, А.
shd легко адаптировать ответы по адресу http://stackoverflow.com/questions/16470903/pyserial-2-6-specify-end-of-line-in-readline - те, кто искали EOL ' \ r', вы ищете '\ n \ n', но в остальном это похоже на ту же проблему. Вам это нужно более подробно изложить? –
это было бы круто, да. i уже прочитал этот ответ, но не смог реализовать свою собственную функцию readline(); – AndyA