Jump to content

    

Вопрос про 1-wire DS2450

Привет всем.

 

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

 

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

 

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

 

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

 

В общем, кто имел дело со всем этим, подскажите как нужно считать crc16, по полученным данным с датчика, или по данным + байт команды + два байта адрес... или как тут точно нужно... или если всё правильно делаю, что ещё такое может зависеть на результат... Например временные интервалы при чтении драйвером с датчика "1" или "0"... или что ещё может быть причиной того, что результат совсем ни тот :))

Share this post


Link to post
Share on other sites

Давненько это было...

Вот может исходники прояснят ситуацию

GSM_MON.rar

Share this post


Link to post
Share on other sites

исходники посмотрел... там правда нет проверки на crc16.. но уточнил моменты просто...

но всё равно не могу высчитать 0xB001 :)

 

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

 

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

 

- делаю запрос на конвертацию (команда, маска, управляющий байт)

- вычитываю CRC

- жду пока не пройдёт конветрация, пока не придёт бит "1"

- ресет шины

- запрос на чтение (команда, два байта адрес)

- вычитывание данных от начального адреса - до конечного

- завершает чтение - два байта CRC

 

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

и получается совсем другой CRC ни такой какой получил... и не 0xB001

 

А без CRC фигово... отчего же может зависить такое... осцилограф вроде нормально показывает нули и единицы и ресет там как нужно...

Share this post


Link to post
Share on other sites

можете удалять или закрывать тему... разобрался. Ждать помощи как обычно неоткуда :)) только из самого себя.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this