Сообщение от Boba_spb
|
Токо сегодня юзал датчик температуры и влажности.
Дровосеков, как всегда пришлось попинать. "Мутный глаз" - на SDA и смотрел что к чему.
Итак
Иициализируем I²c
SDA - стоит в 1 как влитой
Далее простенькая зацикленная программка и смотрим внимательно в мутный глаз.
Start -› SDA падает
WriteAddresss - идут 7 бит адреса и бит "R/W" нуликом и ...
должен придти бит "АСК" , которого нет !!!
Stop -›
И вот тут веревочная петля на шею дровосеку, и крутим палочку пока он не угадает (а может выдаст тайну ) тот адрес, при передачи которого появится долгожданны бит "ACК"!!!!
А далее все просто как мычание.
В вашем тексте очень смущает первый Write (0x27) -вот нулевой бит обязан быть нулем, т.к. это операция записи в девайс.
|
Address Reference
INPUTS
I2C BUS SLAVE ADDRESS
A2 A1 A0
L L L 32 (decimal), 20 (hexadecimal)
L L H 33 (decimal), 21 (hexadecimal)
L H L 34 (decimal), 22 (hexadecimal)
L H H 35 (decimal), 23 (hexadecimal)
H L L 36 (decimal), 24 (hexadecimal)
H L H 37 (decimal), 25 (hexadecimal)
H H L 38 (decimal), 26 (hexadecimal)
H H H 39 (decimal), 27 (hexadecimal)
Из даташита PCF8574 вот такая таблица.Я завёл А0-А2 на лог. 1.Вроде адрес получается 0Х27