Dependencies:   mbed

main.cpp

Committer:
slowness
Date:
2011-08-28
Revision:
0:85bca9d6be51

File content as of revision 0:85bca9d6be51:

#include "mbed.h"    

/*Configuration des LED en sortie num�rique*/

DigitalOut led_write(LED1); 
DigitalOut led_read(LED4);
DigitalOut led_can(LED3);

Serial pc(p9, p10);
CAN can(p30, p29);       /*Configuration des ports du CAN : rd p30 td p29*/
Ticker ticker;           /*Fonction timer*/
Ticker ticker1;           /*Fonction timer*/

/*Fonction de configuration du message d'envoi*/
char compteur=0;
void send(){

    /*Initialisation des variables*/
    
    char message[8]={compteur,0x10,0x11,0x10,0x11,0x10,0x11,0x00};          /*Initialisation du tableau de donn�e du message � envoyer*/
    CANMessage canmsg = CANMessage();                            /*Variable de type CANMessage*/
    char i;                                                             /*Variable compteur i*/
    
    /*Caract�ristique du message � envoyer sur le CAN*/
    
    canmsg.id=0x001;                    /*L'identification du message*/
    canmsg.len=8;                       /*Longeur de la trame en octet*/
    canmsg.format=CANStandard;          /*Format de la trame CANStandart 11 octet*/
    canmsg.type=CANData;                /*Type de la trame CANData*/

    for(i=0;i<8;i++){                /*Copie du tableau de donn&#65533;e dans le tableau du messge*/
    canmsg.data[i]=message[i];
    }
    led_write=can.write(canmsg);     /*Si la transmission se fait sans error, allume une led*/
    
    compteur++;
}/*Fin Fontion*/

void send1(){

    /*Initialisation des variables*/
    
    char message[8]={compteur,0x20,0x22,0x20,0x22,0x20,0x22,0x20};          /*Initialisation du tableau de donn&#65533;e du message &#65533; envoyer*/
    CANMessage canmsg = CANMessage();                            /*Variable de type CANMessage*/
    char i;                                                             /*Variable compteur i*/
    
    /*Caract&#65533;ristique du message &#65533; envoyer sur le CAN*/
    
    canmsg.id=0x010;                    /*L'identification du message*/
    canmsg.len=8;                       /*Longeur de la trame en octet*/
    canmsg.format=CANStandard;          /*Format de la trame CANStandart 11 octet*/
    canmsg.type=CANData;                /*Type de la trame CANData*/

    for(i=0;i<8;i++){                /*Copie du tableau de donn&#65533;e dans le tableau du messge*/
    canmsg.data[i]=message[i];
    }
    led_write=can.write(canmsg);     /*Si la transmission se fait sans error, allume une led*/
    
    compteur++;
}/*Fin Fontion*/

/*DEBUT PROGRAMME*/

int main() {
    
    char message[8]={0x00,0x10,0x11,0x10,0x11,0x10,0x11,0x00};          /*Initialisation du tableau de donn&#65533;e du message &#65533; envoyer*/
    CANMessage canmsg = CANMessage();                                       /*Variable de type CANMessage*/
    char i;           
    can.frequency(1000000);                                                 /*Baud rate : kbits/s */
    pc.baud(9600);
        canmsg.id=0x001;                    /*L'identification du message*/
        canmsg.len=8;                       /*Longeur de la trame en octet*/
        canmsg.format=CANStandard;          /*Format de la trame CANStandart 11 octet*/
        canmsg.type=CANData; 
        for(i=0;i<8;i++){                   
            canmsg.data[i]=message[i];
        }
    while(1){                               /*Variable compteur i*/        
        
               /*Type de la trame CANData*/
        led_write=can.write(canmsg);   
        wait(0.1);
        
     }/*Fin while*/
    
}
/*FIN PROGRAMME*/