реклама на сайте
подробности

 
 
> Вопрос про 1-wire DS2450
NitroCephal
сообщение Jul 24 2008, 10:54
Сообщение #1





Группа: Новичок
Сообщений: 3
Регистрация: 7-04-08
Пользователь №: 36 530



Привет всем.

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

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

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

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

В общем, кто имел дело со всем этим, подскажите как нужно считать crc16, по полученным данным с датчика, или по данным + байт команды + два байта адрес... или как тут точно нужно... или если всё правильно делаю, что ещё такое может зависеть на результат... Например временные интервалы при чтении драйвером с датчика "1" или "0"... или что ещё может быть причиной того, что результат совсем ни тот smile.gif)
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
NitroCephal
сообщение Jul 25 2008, 11:56
Сообщение #2





Группа: Новичок
Сообщений: 3
Регистрация: 7-04-08
Пользователь №: 36 530



исходники посмотрел... там правда нет проверки на crc16.. но уточнил моменты просто...
но всё равно не могу высчитать 0xB001 smile.gif

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

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

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

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

А без CRC фигово... отчего же может зависить такое... осцилограф вроде нормально показывает нули и единицы и ресет там как нужно...
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 25th June 2025 - 21:23
Рейтинг@Mail.ru


Страница сгенерированна за 0.01347 секунд с 7
ELECTRONIX ©2004-2016