Dependencies:   mbed

Revision:
0:85bca9d6be51
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Sun Aug 28 16:17:08 2011 +0000
@@ -0,0 +1,87 @@
+#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*/