Dependencies:   mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "mbed.h"    
00002 
00003 /*Configuration des LED en sortie num�rique*/
00004 
00005 DigitalOut led_write(LED1); 
00006 DigitalOut led_read(LED4);
00007 DigitalOut led_can(LED3);
00008 
00009 Serial pc(p9, p10);
00010 CAN can(p30, p29);       /*Configuration des ports du CAN : rd p30 td p29*/
00011 Ticker ticker;           /*Fonction timer*/
00012 Ticker ticker1;           /*Fonction timer*/
00013 
00014 /*Fonction de configuration du message d'envoi*/
00015 char compteur=0;
00016 void send(){
00017 
00018     /*Initialisation des variables*/
00019     
00020     char message[8]={compteur,0x10,0x11,0x10,0x11,0x10,0x11,0x00};          /*Initialisation du tableau de donn�e du message � envoyer*/
00021     CANMessage canmsg = CANMessage();                            /*Variable de type CANMessage*/
00022     char i;                                                             /*Variable compteur i*/
00023     
00024     /*Caract�ristique du message � envoyer sur le CAN*/
00025     
00026     canmsg.id=0x001;                    /*L'identification du message*/
00027     canmsg.len=8;                       /*Longeur de la trame en octet*/
00028     canmsg.format=CANStandard;          /*Format de la trame CANStandart 11 octet*/
00029     canmsg.type=CANData;                /*Type de la trame CANData*/
00030 
00031     for(i=0;i<8;i++){                /*Copie du tableau de donn&#65533;e dans le tableau du messge*/
00032     canmsg.data[i]=message[i];
00033     }
00034     led_write=can.write(canmsg);     /*Si la transmission se fait sans error, allume une led*/
00035     
00036     compteur++;
00037 }/*Fin Fontion*/
00038 
00039 void send1(){
00040 
00041     /*Initialisation des variables*/
00042     
00043     char message[8]={compteur,0x20,0x22,0x20,0x22,0x20,0x22,0x20};          /*Initialisation du tableau de donn&#65533;e du message &#65533; envoyer*/
00044     CANMessage canmsg = CANMessage();                            /*Variable de type CANMessage*/
00045     char i;                                                             /*Variable compteur i*/
00046     
00047     /*Caract&#65533;ristique du message &#65533; envoyer sur le CAN*/
00048     
00049     canmsg.id=0x010;                    /*L'identification du message*/
00050     canmsg.len=8;                       /*Longeur de la trame en octet*/
00051     canmsg.format=CANStandard;          /*Format de la trame CANStandart 11 octet*/
00052     canmsg.type=CANData;                /*Type de la trame CANData*/
00053 
00054     for(i=0;i<8;i++){                /*Copie du tableau de donn&#65533;e dans le tableau du messge*/
00055     canmsg.data[i]=message[i];
00056     }
00057     led_write=can.write(canmsg);     /*Si la transmission se fait sans error, allume une led*/
00058     
00059     compteur++;
00060 }/*Fin Fontion*/
00061 
00062 /*DEBUT PROGRAMME*/
00063 
00064 int main() {
00065     
00066     char message[8]={0x00,0x10,0x11,0x10,0x11,0x10,0x11,0x00};          /*Initialisation du tableau de donn&#65533;e du message &#65533; envoyer*/
00067     CANMessage canmsg = CANMessage();                                       /*Variable de type CANMessage*/
00068     char i;           
00069     can.frequency(1000000);                                                 /*Baud rate : kbits/s */
00070     pc.baud(9600);
00071         canmsg.id=0x001;                    /*L'identification du message*/
00072         canmsg.len=8;                       /*Longeur de la trame en octet*/
00073         canmsg.format=CANStandard;          /*Format de la trame CANStandart 11 octet*/
00074         canmsg.type=CANData; 
00075         for(i=0;i<8;i++){                   
00076             canmsg.data[i]=message[i];
00077         }
00078     while(1){                               /*Variable compteur i*/        
00079         
00080                /*Type de la trame CANData*/
00081         led_write=can.write(canmsg);   
00082         wait(0.1);
00083         
00084      }/*Fin while*/
00085     
00086 }
00087 /*FIN PROGRAMME*/