getResponse() и
- Войдите на сайт для отправки комментариев
Сб, 19/03/2016 - 19:17
Не пойму как работает код:
delay(delay_var); Serial.flush(); Serial.print("0105"); // температура Serial.print("\r"); getResponse(); getResponse(); if ((strtol(&rxData[0],0,16)==65) and (strtol(&rxData[3],0,16)==5)) { tmp_var = strtol(&rxData[6],0,16)-40;
В частности что делают getResponse() и strtol. Нигде не нашел толкового описания этих функций. В самом коде выполняется отправка запроса в эбу автомобиля и получение ответа (температура двигателя). Ответ ЭБУ выглядит так "41 05 XX", где XX это обороты, а 41 05 это проверка, где 05 это запрос температуры.
strtol
а getResponse() - какая то внутренняя функция.
По strtol недостаточно информации. Нужно понять что означают "[0],0,16" в strtol(&rxData[0],0,16). А getResponse() кто то использовал в скетче, значит где то есть описание, только вопрос где?
С автором скетча нет возможности связаться.
а что здесь непонятного??? передаём в функцию strtol() аргументы: указатель на массив, &rxData[0], числовенную константу 0, числовенную константу 16
найди в коде или в подключаемых файлах Тело этой функции и понимай что она делает
Да, уже почти разобрался. getResponse считывает данные из
Serial
.print а
strtol() преобразует из строки в long.