void IOex()
{
MCP23017_Write(IODIRA, 0x00); // Declaring A port as output
MCP23017_Write(IODIRB, 0x00); // Declaring B port as output
printf("IOEx\n");
}
void MCP23017_Write(unsigned char address, unsigned char value)
{
WaitI2C(1000); //10000
IdleI2C();
StartI2C();
IdleI2C();
MasterWriteI2C(MCP23017_ADDRESS);
IdleI2C();
while(I2CSTATbits.ACKSTAT);
MasterWriteI2C(address);
while(I2CSTATbits.ACKSTAT);
IdleI2C();
MasterWriteI2C(value);
IdleI2C();
while(I2CSTATbits.ACKSTAT);
IdleI2C();
StopI2C();
IdleI2C();
}