Создал тестовый проект «две кнопки на вход adruino nanoи два порта на выходMCP23017».
В коде кнопка на порт D2 Arduino инверсная, кнопка на порт D3 прямая.
В симуляторе Proteus на микросхеме MCP23017 порты PGA0, PGA1, PGB0 и PGB1 стали активны но на нажатие кнопок не реагировали.
Почему порты «PGA1, PGB1» не участвовавшие в проекте стали активны?
В коде Arduino нашел ошибку:
Wire.begin();
delay(10);
_MCP2307_0.init(0);
_MCP2307_0.pinMode(1, OUTPUT);
_MCP2307_0.pinMode(9, OUTPUT);
.
.
.
//Плата:1
_MCP2307_0_O_IO1 = !(_bounseInputD2O);
_MCP2307_0_O_IO9 = _bounseInputD3O;
_MCP2307_0.digitalWrite(0, _MCP2307_0_O_IO1);
_MCP2307_0.digitalWrite(8, _MCP2307_0_O_IO9);
Изменил коде Arduino пины:
_MCP2307_0.init(0);
_MCP2307_0.pinMode(0, OUTPUT);
_MCP2307_0.pinMode(8, OUTPUT);
Программа стала работать правильно.
Всем спасибо, возможно пригодится.
Добавил: kirzhak