65 lines
No EOL
1.3 KiB
C
Executable file
65 lines
No EOL
1.3 KiB
C
Executable file
/*
|
|
* i2c_test_attiny85.c
|
|
*
|
|
* Created: 12/11/2021 15:26:38
|
|
* Author : 40008304
|
|
*/
|
|
|
|
#include <avr/io.h>
|
|
|
|
#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++;
|
|
} |