Jump to content

    

Recommended Posts

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

И так, надо подключить несколько 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...

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.