/* * i2c_test_attiny85.c * * Created: 12/11/2021 15:26:38 * Author : 40008304 */ #include #include "led_gen.h" #include "led_receptor.h" #include "led_test.h" #include "USI_TWI_Slave.h" #define MSTR_TEST_WR 0x31 #define MSTR_TEST_RE 0x32 #define SLAVE_ADRESS 0x01 #define NOM_CONSTRUC 0x08 #define NOM_CAPTEUR 0x10 #define VALEUR_DEMAN 0x49 #define BASIC_MODE 0x42 int main(void) { unsigned char cmd, i, val; unsigned char nom_capteur[9]={'I','U','T','V','i','D','A','v'}; unsigned char sensor_type[9]={'S','u','m','o','E','y','e','s'}; USI_TWI_Slave_Initialise(SLAVE_ADRESS); led2_init(); led1_init(); ADC_init(); while (1) { if( USI_TWI_Data_In_Receive_Buffer() ) { cmd = USI_TWI_Receive_Byte(); switch(cmd){ case MSTR_TEST_WR : val=USI_TWI_Receive_Byte(); break; case MSTR_TEST_RE : USI_TWI_Transmit_Byte(0x0F); break; case NOM_CONSTRUC : for (i=0;i<8;i++){USI_TWI_Transmit_Byte(nom_capteur[i]);} break; case NOM_CAPTEUR : for (i=0;i<8;i++){USI_TWI_Transmit_Byte(sensor_type[i]);} break; case VALEUR_DEMAN : USI_TWI_Transmit_Byte(0x45); break; case BASIC_MODE : USI_TWI_Transmit_Byte(0x46); break; }; }; }; val++; }