Перейти к содержанию
    

DS18B20 в режиме MATCH_ROM

Подходящую специализированную тему не нашел, по этому спрошу здесь, поскольку делаю на МК :)

И так, надо подключить несколько DS18b20 к одной шине, а для этого нужен режим MATCH_ROM. Вроде бы все делаю по даташиту. 64-битный код предварительно считал командой READ_ROM и получил вполне правдоподобное значение. Потом дал  команду MATCH_ROM, за ней передал  полученные ранее 8 байт из ROM и затем команду  чтения. Читаются все единицы, т.е. датчик не опознал код и не передал ни каких данных :(. Все перепроверил, записал посылку на осциллограф и разобрал ее побитно - все  правильно. В режиме SKIP_ROM все работает нормально.

Вот побайтнная последовательность:

RESET
0x55	команда  MATCH_ROM
0x28	1 байт 64-битного  кода
0x2d
0xab
0x29
0x09
0x00
0x00
0x2e	8 байт 64-битного  кода (CRC)
0xbe	команда READ_RAM
0xff	дальше читаются все единицы
0xff...

Если кто работал с датчиком в этом режиме - помогите.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Последовательность выглядит правильно. А вот контрольная сумма у адреса судя по https://tomeko.net/online_tools/crc8.php?lang=en и https://crccalc.com одинаково не сходится. Вы ошиблись или при чтении адреса, или при его копировании.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...