APP4

Dependencies:   mbed-rtos mbed

Fork of rtos_basic by mbed official

Committer:
leomerel
Date:
Fri Oct 12 18:44:14 2018 +0000
Revision:
12:cfa3dec9e9a3
Parent:
11:0309bef74ba8
Child:
13:3c020f9bfdc7
New project;

Who changed what in which revision?

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