Добрый день.
Бьюсь над задачей совместить PIC18 и MCP23016 по протоколу I2C.
Уже всю голову поломал, да не выходит каменный цветок.
Эмулирую схему в Proteus 8.1.
Пытаюсь совершить самое простое действие - записать в регистры IODIR (отвечают за направление портов ввода вывода).
ACK-и приходят, да в регистры не пишет.
Что не так? Подскажите пожалуйста.
Спасибо
Вот что твориться на осциллографе

даташит http://www.bristolwatch.com/pdf/mcp23016.pdf
Бьюсь над задачей совместить PIC18 и MCP23016 по протоколу I2C.
Уже всю голову поломал, да не выходит каменный цветок.
Эмулирую схему в Proteus 8.1.
Пытаюсь совершить самое простое действие - записать в регистры IODIR (отвечают за направление портов ввода вывода).
ACK-и приходят, да в регистры не пишет.
Код: Выделить всё
OpenI2C(MASTER, SLEW_OFF);
SSPADD = 39;
StartI2C();
IdleI2C();
Delay10TCYx(8);
putcI2C( 0b01000000 );
IdleI2C();
Delay10TCYx(8);
putcI2C( 0x06 );
IdleI2C();
Delay10TCYx(8);
putcI2C( 0x00 );
IdleI2C();
Delay10TCYx(8);
StopI2C();
CloseI2C();
Спасибо
Вот что твориться на осциллографе
даташит http://www.bristolwatch.com/pdf/mcp23016.pdf
