Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Вопрос про 1-wire DS2450
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему
NitroCephal
Привет всем.

Проблемка вот довела меня сюда smile.gif.

Кто-нибудь имел дело с 1-wire DS2450 вольтметром? А конкретнее с просчётом CRC16 после чтения данных с него...

Сколько ищу информацию про это - нигде точно так и не увидел, как всё делать по шагам...

Там после чтения данных (8 байт с 4х каналов), также читаются два байта CRC16. И Вот если взять эти полученные 8 байт данных плюс 2 байта CRC и пропустить через алгоритм crc16, должно получиться значение 0xB001, но оно никак не получается... как бы не пробовал...

В общем, кто имел дело со всем этим, подскажите как нужно считать crc16, по полученным данным с датчика, или по данным + байт команды + два байта адрес... или как тут точно нужно... или если всё правильно делаю, что ещё такое может зависеть на результат... Например временные интервалы при чтении драйвером с датчика "1" или "0"... или что ещё может быть причиной того, что результат совсем ни тот smile.gif)
ALexx
Давненько это было...
Вот может исходники прояснят ситуацию
NitroCephal
исходники посмотрел... там правда нет проверки на crc16.. но уточнил моменты просто...
но всё равно не могу высчитать 0xB001 smile.gif

правда вот момент такой в исходниках: если делать перед чтением данных SKIP_ROM, то crc всегда приходит 0xffff, работает только с MATCH_ROM...

в общем не понимаю ничё.. smile.gif всё вроде правильно...

- делаю запрос на конвертацию (команда, маска, управляющий байт)
- вычитываю CRC
- жду пока не пройдёт конветрация, пока не придёт бит "1"
- ресет шины
- запрос на чтение (команда, два байта адрес)
- вычитывание данных от начального адреса - до конечного
- завершает чтение - два байта CRC

беру теперь алгоритм для crc16 и даю ему {READ_MEMORY, Адрес младший, старший, данные(8 байт)}
и получается совсем другой CRC ни такой какой получил... и не 0xB001

А без CRC фигово... отчего же может зависить такое... осцилограф вроде нормально показывает нули и единицы и ресет там как нужно...
NitroCephal
можете удалять или закрывать тему... разобрался. Ждать помощи как обычно неоткуда smile.gif) только из самого себя.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.