Envoi d'un message via la liaison série


Voici un petit programme qui permet d'envoyer un message par la liaison série du MPS430.


Créer un nouveau projet CCS.



Donner lui un nom. Exemple Communication.



Puis faire un clique sur Finish.


Effacer le code qui se trouve dans main.c. Pour cela faire un crtl+a et appuyer sur la touche Suppr.




Copier le code ci dessous.



#include  "msp430.h"


void UART_puts(char * s);                                                // Déclaration de la fonction envois caractère

void pause(int a);                                                                // Déclaration de la fonction pause


int main(void) {

       WDTCTL = WDTPW + WDTHOLD;                        // Arrêt du watchdog


               //Initialisation DCO Digitally Controlled Oscillator

               if (CALBC1_1MHZ ==0xFF || CALDCO_1MHZ == 0xFF)

               {

                       while(1);                           // If calibration constants erased

                       // do not load, trap CPU!!

               }

               BCSCTL1 = CALBC1_1MHZ;                   // Réglage du DCO Digitally Controlled Oscillator à 1Mhz

               DCOCTL = CALDCO_1MHZ;


               //Initialisation de l'UART

                       P1SEL = BIT1 + BIT2 ;                            // P1.1 = RXD, P1.2=TXD

                       P1SEL2 = BIT1 + BIT2;                                                // Secondary peripheral module function is selected.

                       UCA0CTL1 |= UCSSEL_2;                            // SMCLK

                       UCA0BR0 = 104;                              // 1MHz 9600

                       UCA0BR1 = 0;                                      // 1MHz 9600

                       UCA0MCTL = UCBRS0;                                      // Modulation UCBRSx = 1

                       UCA0CTL1 &= ~UCSWRST;                            // **Initialize USCI state machine**

                       IE2 |= UCA0RXIE;                                  // Enable USCI_A0 RX interrupt


                       // Début du programme

                       while(1) {


                                       UART_puts("Bonjour!\r\n");             //Envois du message

                                        pause(1000);                          // Pause de 1 seconde


                               }



}

// Envois caractéres

void UART_puts(char * s) {

       while (*s) {

               while (!(IFG2&UCA0TXIFG));                // USCI_A0 TX buffer disponible?

               UCA0TXBUF = *s++;

       }

}

// Pause de 1ms

void pause(int a) {

       int i=0;

       while (i<a) {

               _delay_cycles(1000);

               i++;

       }

}


Et le coller dans le programme main.c.Pour cela faire un crt+v.

Téléchargement du programme ici.





Faire un clique sur l'insecte.



Puis sur le signe play.



Lancer le logiciel.



Configurer le en fonction de votre configuration. Pour moi:



Voila toute les 1 seconde le Launchpad envoie un



Mise à jour 30/07/2014

Créé avec HelpNDoc Personal Edition: Générateur complet de livres électroniques Kindle