J'ai donc réalisé un autre code juste pour tester.
Ce code a pour fonction d'écrire sur le terminal ce que je suis censé taper au clavier.
Mais quand je tape sur mon clavier, ça me donne des caractères illisibles et aléatoires... A base de . ? & $ etc...Code:#include <p18f452.h> // d?claration SFR pour ICD2 #include <delays.h> // d?claration prototype fonctions delay #include <usart.h> // pour fonctions UART #include <string.h> // pour strmcp #include <stdio.h> // pour printf #include <stdlib.h> // pour atoi #define FOREVER while(1) // **** configuration du circuit ************* // configuration avec quartz #pragma config OSC = HS, OSCS = OFF #pragma config PWRT = OFF, BOR = OFF #pragma config WDT = OFF #pragma config CCP2MUX = OFF #pragma config STVR = ON #pragma config LVP = OFF #pragma config DEBUG = ON #pragma config CP0 = OFF, CP1 = OFF, CP2 = OFF, CP3 = OFF, CPB = OFF, CPD = OFF #pragma config WRT0 = OFF, WRT1 = OFF, WRT2 = OFF, WRT3 = OFF #pragma config WRTB = OFF, WRTC = OFF, WRTD = OFF #pragma config EBTR0 = OFF, EBTR1 = OFF, EBTR2 = OFF, EBTRB = OFF // Définir des nouveaux types données typedef unsigned char BYTE; typedef unsigned int WORD; /* Liaison série : **************************************************/ //***** variables globales ******************** void Init_UART (void); //************* Programme principal *******************/ void main(void) { //***** init variables **************************** //***** init Ports **************************** TRISCbits.TRISC6=0; // les deux sont à 1 en sortie, l'EUSART se débrouille pour le sens TRISCbits.TRISC7=1; Init_UART(); //***** boucle principale **************************** while (1) // boucle principale { if ( PIR1bits.RCIF==1) // caractere recu ? { TXREG=RCREG; // envoi en echo } } } void Init_UART (void) { OpenUSART( USART_TX_INT_OFF & USART_RX_INT_OFF & USART_ASYNCH_MODE & USART_EIGHT_BIT & USART_CONT_RX & USART_BRGH_HIGH, 25 ); // configure la vitesse (BAUD) 9600 N 8 1 TXSTA=0b00100100; RCSTA=0b10010000; }
-----