Страница 1 из 1

Proteus + PIC + MCP23016 расширитель портов IO

Добавлено: Пт авг 01, 2014 11:11:25
Smosia
Добрый день.

Бьюсь над задачей совместить 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

Re: Proteus + PIC + MCP23016 расширитель портов IO

Добавлено: Пт авг 01, 2014 15:33:27
Smosia
Все, проблема решена. Выход int надо было посадить на землю. Спасибо