The I2C_to_Parallel_ini_PCA9554 inits the I2C_to_Parallel_ini_PCA9554 chips by setting all the outputs high, but the 2 chip select analog muxes, to disable all the chips.
185 I2C_mux -> MasterTransmit( indirizzo, comando, 2,
false);
186 while( I2C_mux -> GetStatus().busy);
189 comando[1]= impostazione_iniziale_della_porta;
190 I2C_mux -> MasterTransmit( indirizzo, comando, 2,
false);
191 while( I2C_mux -> GetStatus().busy);
194 I2C_mux -> MasterTransmit( indirizzo, comando, 1,
true);
195 while( I2C_mux -> GetStatus().busy);
198 I2C_mux -> MasterReceive( indirizzo, comando, 1,
false);
199 while( I2C_mux -> GetStatus().busy);
void I2C_mux_select_ch(uint8_t scheda_su_scheda_giu, uint8_t mainboard_postmainboard, uint8_t canale_da_abilitare)
The I2C mux.
#define I2C_mux_disabilita_tutto
i2C transmission/reception was bad
#define I2C_mux_abilita_3
Enable channel 3.
void I2C_to_Parallel_ini_PCA9554(uint8_t scheda_su_scheda_giu, uint8_t select_PCA)
The I2C_to_Parallel_ini_PCA9554 inits the I2C_to_Parallel_ini_PCA9554 chips by setting all the output...
#define I2C_to_Parallel_name_3
the third PCA
#define I2C_to_Parallel_Command_configuration_register
Configuration register, set to 0 for ouput of the corresponding bit.
#define I2C_to_Parallel_Command_read_output
Read output pin, either if they are inputs or outpus.
#define I2C_to_Parallel_address_2
address of the second I2C to parallel
#define I2C_to_Parallel_address_3
address of the third I2C to parallel
#define I2C_to_Parallel_2_ini_set
#define I2C_to_Parallel_1_ini_set
#define I2C_to_Parallel_address_1
address of the first I2C to parallel
#define I2C_to_Parallel_name_2
the second PCA
#define I2C_to_Parallel_3_ini_set
#define I2C_to_Parallel_Command_data_to_write
Data are written in the bits set as output.