APP4

Dependencies:   mbed-rtos mbed

Fork of rtos_basic by mbed official

Committer:
jpbaillargeon
Date:
Fri Oct 12 18:47:00 2018 +0000
Revision:
13:3c020f9bfdc7
Parent:
12:cfa3dec9e9a3
Child:
14:42a7d108b134
:)

Who changed what in which revision?

UserRevisionLine numberNew contents of line
emilmont 1:491820ee784d 1 #include "mbed.h"
leomerel 12:cfa3dec9e9a3 2
jpbaillargeon 13:3c020f9bfdc7 3 //Jean-Philippe
jpbaillargeon 13:3c020f9bfdc7 4
leomerel 12:cfa3dec9e9a3 5 DigitalOut myled(p18);
leomerel 12:cfa3dec9e9a3 6
leomerel 12:cfa3dec9e9a3 7 /*#define PREAMBULE 01010101
leomerel 12:cfa3dec9e9a3 8 #define START 01111110
leomerel 12:cfa3dec9e9a3 9 #define END 01111110*/
leomerel 12:cfa3dec9e9a3 10
leomerel 12:cfa3dec9e9a3 11 bool PREAMBULE[] = {0,1,0,1,0,1,0,1};
leomerel 12:cfa3dec9e9a3 12 bool START_END[] = {0,1,1,1,1,1,1,0};
leomerel 12:cfa3dec9e9a3 13
leomerel 12:cfa3dec9e9a3 14 bool message[16] = {0,1,0,1,0,1,0,1,0,1,1,1,1,1,1,0};
leomerel 12:cfa3dec9e9a3 15
leomerel 12:cfa3dec9e9a3 16 //convert to Manchester
leomerel 12:cfa3dec9e9a3 17 void convertToManchester(bool message)
leomerel 12:cfa3dec9e9a3 18 {
leomerel 12:cfa3dec9e9a3 19 if(message == 0){
leomerel 12:cfa3dec9e9a3 20 myled = 0;
leomerel 12:cfa3dec9e9a3 21 wait_ms(10);
leomerel 12:cfa3dec9e9a3 22 myled = 1;
leomerel 12:cfa3dec9e9a3 23 wait_ms(10);
leomerel 12:cfa3dec9e9a3 24 }
leomerel 12:cfa3dec9e9a3 25 else if(message == 1){
leomerel 12:cfa3dec9e9a3 26 myled = 1;
leomerel 12:cfa3dec9e9a3 27 wait_ms(10);
leomerel 12:cfa3dec9e9a3 28 myled = 0;
leomerel 12:cfa3dec9e9a3 29 wait_ms(10);
emilmont 1:491820ee784d 30 }
emilmont 1:491820ee784d 31 }
leomerel 12:cfa3dec9e9a3 32
leomerel 12:cfa3dec9e9a3 33 //detection du préambule
leomerel 12:cfa3dec9e9a3 34
leomerel 12:cfa3dec9e9a3 35 //decode Manchester
leomerel 12:cfa3dec9e9a3 36
leomerel 12:cfa3dec9e9a3 37 void decodeManchester(bool *data){
leomerel 12:cfa3dec9e9a3 38 }
leomerel 12:cfa3dec9e9a3 39
leomerel 12:cfa3dec9e9a3 40 //envoie des trames
leomerel 12:cfa3dec9e9a3 41 //reception des trames
leomerel 12:cfa3dec9e9a3 42 //assemblage des trames
leomerel 12:cfa3dec9e9a3 43 //desassemblage des trames
leomerel 12:cfa3dec9e9a3 44 //CRC16 (détection des erreurs)
leomerel 12:cfa3dec9e9a3 45
leomerel 12:cfa3dec9e9a3 46
emilmont 1:491820ee784d 47 int main() {
leomerel 12:cfa3dec9e9a3 48 while(1) {
leomerel 12:cfa3dec9e9a3 49 for(int i=0; i<sizeof(message); i++){
leomerel 12:cfa3dec9e9a3 50 convertToManchester(message[i]);
leomerel 12:cfa3dec9e9a3 51 printf("OK\r\n");
leomerel 12:cfa3dec9e9a3 52 }
leomerel 12:cfa3dec9e9a3 53 wait(1);
emilmont 1:491820ee784d 54 }
emilmont 1:491820ee784d 55 }
leomerel 12:cfa3dec9e9a3 56
leomerel 12:cfa3dec9e9a3 57