// #################################################### Hauptschleife ################################################### while true do begin // ############################################################################# // I2C lesen MCP23017 Soft_I2C_Start(); // Issue start signal Soft_I2C_Write(0x40); // Adresse MCP23017 schreiben ==> Soft_I2C_Write(GPIOB); // Adresse auf GPIOB setzen Soft_I2C_Start(); // Issue repeated start signal Soft_I2C_Write(0x41); // Addrese MCP23017 lesen ==> PortF := Soft_I2C_Read(0); // Lesen der Eingänge des MCP23017 Soft_I2C_Stop(); // Issue stop signal delay_ms(500); Soft_I2C_Start(); // Issue start signal Soft_I2C_Write(0x40); // Adresse MCP23017 schreiben ==> Soft_I2C_Write(OLATA); // Adresse auf GPIOB setzen Soft_I2C_Write(PortF); // gelesene Daten von PortB des MCP23017 an PortA des MCP23017 ausgeben Soft_I2C_Stop(); // Issue stop signal delay_ms(500); end;