#include #include #include #include #include #include #define FOSC 8000000 // Clock Speed #define BAUD 115200UL // calcul du Baudrate: #define UBRR_VAL ((FOSC+BAUD*8)/(BAUD*16)-1) // clever runden /****************************************************/ /* Initialisation des variables */ volatile char data2 ; int i = 0, j = 0 ; // indixe des positions int counter = 0 ; // counter /****************************************************/ /* Initialisation de L´USART USART: Unite du microcontrôleur permettant la communication entre le microcontrôleur et le port serie RS232 d´un appareil(Ici PC) */ /****************************************************/ void USART_Init (unsigned int ubrr) { /* Reglage du baudrate */ UBRR0H = (unsigned char)(ubrr>>8); UBRR0L = (unsigned char) ubrr; UBRR1H = (unsigned char)(ubrr>>8); UBRR1L = (unsigned char) ubrr; /* Pins permettant reception et transmission de donnees */ /* USART0 = RS232 USART1 = RS485 si TXEN0 = 1 , Transmission de donnees actif a partir de l`USART0, si TXEN0 = 0 , Pas de transmission de donnees. si TXEN1 = 1 , Transmission de donnees actif a partir de l`USART1, si TXEN1 = 0 , Pas de transmission de donnees. si RXEN0 = 1 , Le buffer UDR0 de L´USART0 peut recevoir les donnees. si RXEN0 = 0 , pas d´envoi de donnees. si RXEN1 = 1 , Le buffer UDR1 de L´USART1 peut recevoir les donnees. si RXEN1 = 0 , pas d´envoi de donnees. */ UCSR0B = (1< 2 Stopbits et USBS0 = 0 ---> 1 Stop bit UCSZ02, UCSZ01 et UCSZ00: Taille des donnees. 0 0 0 ----> 5 bits 0 0 1 ----> 6 bits 0 1 0 ----> 7 bits 0 1 1 ----> 8 bits */ UCSR0C = (1<