парсинг ascii to int
- Войдите на сайт для отправки комментариев
Чт, 24/03/2016 - 13:48
Мужики помогите, никак не могу найти решение.
С serial порта прихрлит сообщение вида X10AD6080 фиксированной длины где X-признак начала сообщения, 10AD6080 - число 279797888 в 16-ричной системе счисления.
Так вот никак не могу получить это число.
Надо его в Long int записать.
http://www.cplusplus.com/reference/cstdlib/strtol/
Спасибо, Вот так сделал, покритикуйте
Спасибо, Вот так сделал, покритикуйте
Как str объявлена? Проверка коректности HEX числа не нужна? Проверка нарушения синхронизации (когда пакет фиксированной длинны вдруг не весь придёт и флаг начала следующего прочитается как значение внутри битого пакета - не только битый, но следующий улетают.
Но и самое главное, чтение порта, если потеряна связь (ничего не приходит), какой эффект даст - изучите.
Такая функция подойдет для чтения из порта псоле флага?
Спасибо, Вот так сделал, покритикуйте
Если хотите помощи, а не потрындеть, приводите скетч полностью Как у Вас описана str? ХЗ! А на неё тут всё завязано.
Да, кстати, а сами-то запускали? Оно работает?
Это проект снифера кан-шины автомобиля с помощью кан-шилда на базе mcp2515
Сектч построен на основе скетча gmlan https://github.com/Afterglow/arduino-gmlan
Мною переработаны функции для того чтобы девайс мог общаться с программой CanHacker которая принимает и отправляет пакеты через ком-порт следующими сообщениями:
TddddddddLDDDDDDDDDDDDDDDD
где T- начало пакета, dddddddd - ID заголовка , L - длина данных, DD - байты данных
На данный момент основную задачу по приему и передаче данных в can шину он выполняет - то етсь работает.
Но поскольку решения той или иной задачи были подчерпнуты из кучи разных статей и гугла с минимальным опытом програмиирования - вполне допускаю много недосмотров и ошибок.
Cкетч полностью тут тут https://github.com/Lastik-Lastikov/GMCanHacker
Основная страница ниже