Comment envoyer une trame sous le pic 18f ?

pico90 - 21 juil. 2010 à 12:28
 fknoff - 24 août 2010 à 02:51
J'ai écris un petit programme, il est bien compilé, mais je ne sais pas comment synchroniser la durée des bits de sortie du Port B et ajouter un bit de start et un bit de stop Merci beaucoup Voici le programme : #include <p18f87k90.h> char trame0 = 0x00; //Trame nulle //Température// char trame1 = 0x01; //Affichage Température char trame2 = 0x02; //Augmenter char trame3 = 0x03; //Diminuer char trame4 = 0x04; //Clim Marche void main(void) // Entrée du programme principal { PORTA = 0x00; // Initialisation du port A PORTB = 0x00; // Initialisation du port B PORTC = 0x00; // Initialisation du port C PORTD = 0x00; // Initialisation du port D TRISC = 0xFF; // Le port C en entrée (Boutons de commande) TRISD = 0xFF; // Le port D en entrée (Boutons de commande) TRISB = 0x00; // Le port B en sortie (Sortie de trames) while (1) //Boucle infinie { if (PORTC & PORTD == 0) PORTB = trame0; else if (PORTCbits.RC0) PORTB = trame1; // Si le bouton1 est appuyé, le port B transmet la trame1 else if (PORTCbits.RC1) PORTB = trame2; // Si le bouton2 est appuyé, le port B transmet la trame2 else if (PORTCbits.RC2) PORTB = trame3; // Si le bouton3 est appuyé, le port B transmet la trame3 else if (PORTCbits.RC3) PORTB = trame4; // Si le bouton4 est appuyé, le port B transmet la trame4 } } }
A voir également:

1 réponse

Si c'est un PIC 18F4580 par exemple il faut étudier la section 19 de son DATASHEET concernat l'EUSART et configurer les registres TXSTA, RXSTA, BAUDCON, BRG SPBRGH et SPBRG afin d'avoir la vitesse de transmission désiré ainsi que le format désiré. Pour avoir le datasheet du PIC18F4580 par exemple : http://ww1.microchip.com/downloads/en/DeviceDoc/39637d.pdf Bon courage
0