Roman Ciesarík / Mbed 2 deprecated Semestralna_praca_Roman_Ciesarik

Dependencies:   MMA8451Q mbed

Committer:
Ciesarik3
Date:
Thu Jan 04 23:04:53 2018 +0000
Revision:
5:c1952cbf8111
habadury;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Ciesarik3 5:c1952cbf8111 1 /*#include "mbed.h"
Ciesarik3 5:c1952cbf8111 2 #include "headre.h"
Ciesarik3 5:c1952cbf8111 3 #include "definicie.h"
Ciesarik3 5:c1952cbf8111 4
Ciesarik3 5:c1952cbf8111 5 char crc=0x00;
Ciesarik3 5:c1952cbf8111 6 //Serial pc(USBTX, USBRX, 57600);
Ciesarik3 5:c1952cbf8111 7 int i;
Ciesarik3 5:c1952cbf8111 8
Ciesarik3 5:c1952cbf8111 9 char prijemSpravy[30];
Ciesarik3 5:c1952cbf8111 10
Ciesarik3 5:c1952cbf8111 11
Ciesarik3 5:c1952cbf8111 12 void prijmemSpravu()
Ciesarik3 5:c1952cbf8111 13 {
Ciesarik3 5:c1952cbf8111 14 //pc.attach(&prijmemSpravu);
Ciesarik3 5:c1952cbf8111 15 for (int j=0;j<4;j++)
Ciesarik3 5:c1952cbf8111 16 {
Ciesarik3 5:c1952cbf8111 17 while(true)
Ciesarik3 5:c1952cbf8111 18 {
Ciesarik3 5:c1952cbf8111 19 if(pc.readable()==1)
Ciesarik3 5:c1952cbf8111 20 {
Ciesarik3 5:c1952cbf8111 21 prijemSpravy[j]=pc.getc();
Ciesarik3 5:c1952cbf8111 22 break;
Ciesarik3 5:c1952cbf8111 23 }
Ciesarik3 5:c1952cbf8111 24 }
Ciesarik3 5:c1952cbf8111 25 }
Ciesarik3 5:c1952cbf8111 26
Ciesarik3 5:c1952cbf8111 27 int pom= prijemSpravy[3] + 1;
Ciesarik3 5:c1952cbf8111 28
Ciesarik3 5:c1952cbf8111 29 for (int j=0;j<pom;j++)
Ciesarik3 5:c1952cbf8111 30 {
Ciesarik3 5:c1952cbf8111 31 while(true)
Ciesarik3 5:c1952cbf8111 32 {
Ciesarik3 5:c1952cbf8111 33 if(pc.readable()==1)
Ciesarik3 5:c1952cbf8111 34 {
Ciesarik3 5:c1952cbf8111 35 prijemSpravy[j+4]=pc.getc();
Ciesarik3 5:c1952cbf8111 36 break;
Ciesarik3 5:c1952cbf8111 37 }
Ciesarik3 5:c1952cbf8111 38 }
Ciesarik3 5:c1952cbf8111 39 }
Ciesarik3 5:c1952cbf8111 40 pc.attach(&prijmemSpravu);
Ciesarik3 5:c1952cbf8111 41 }
Ciesarik3 5:c1952cbf8111 42
Ciesarik3 5:c1952cbf8111 43
Ciesarik3 5:c1952cbf8111 44 void poslemSpravu(char adrRX, char adrTX, int velkost, char DATA[] )
Ciesarik3 5:c1952cbf8111 45 {
Ciesarik3 5:c1952cbf8111 46 crc=0x00;
Ciesarik3 5:c1952cbf8111 47 char odosli[5+velkost];
Ciesarik3 5:c1952cbf8111 48 odosli[0]=0xA0;
Ciesarik3 5:c1952cbf8111 49 odosli[1]=adrRX;
Ciesarik3 5:c1952cbf8111 50 odosli[2]=adrTX;
Ciesarik3 5:c1952cbf8111 51 odosli[3]=velkost;
Ciesarik3 5:c1952cbf8111 52
Ciesarik3 5:c1952cbf8111 53 crc=crc8table[crc^adrRX];
Ciesarik3 5:c1952cbf8111 54 crc=crc8table[crc^adrTX];
Ciesarik3 5:c1952cbf8111 55
Ciesarik3 5:c1952cbf8111 56 for (i=0; i<velkost; i++) {
Ciesarik3 5:c1952cbf8111 57 odosli[4+i]=DATA[i];
Ciesarik3 5:c1952cbf8111 58 }
Ciesarik3 5:c1952cbf8111 59
Ciesarik3 5:c1952cbf8111 60 for (i=0; i<velkost; i++) {
Ciesarik3 5:c1952cbf8111 61 crc=crc8table[crc^DATA[i]];
Ciesarik3 5:c1952cbf8111 62 }
Ciesarik3 5:c1952cbf8111 63
Ciesarik3 5:c1952cbf8111 64 odosli[velkost+4]=crc;
Ciesarik3 5:c1952cbf8111 65
Ciesarik3 5:c1952cbf8111 66 for (i=0; i<velkost+5; i++) {
Ciesarik3 5:c1952cbf8111 67 pc.putc(odosli[i]);
Ciesarik3 5:c1952cbf8111 68 }
Ciesarik3 5:c1952cbf8111 69
Ciesarik3 5:c1952cbf8111 70 }
Ciesarik3 5:c1952cbf8111 71
Ciesarik3 5:c1952cbf8111 72
Ciesarik3 5:c1952cbf8111 73 void zamkni()
Ciesarik3 5:c1952cbf8111 74 {
Ciesarik3 5:c1952cbf8111 75 char DATA[]= {0x01};
Ciesarik3 5:c1952cbf8111 76 poslemSpravu(VYTAH,0xcc,sizeof(DATA),DATA);
Ciesarik3 5:c1952cbf8111 77 }
Ciesarik3 5:c1952cbf8111 78
Ciesarik3 5:c1952cbf8111 79 void odomkni()
Ciesarik3 5:c1952cbf8111 80 {
Ciesarik3 5:c1952cbf8111 81 char DATA[]= {0x00};
Ciesarik3 5:c1952cbf8111 82 poslemSpravu(VYTAH,0xcc,sizeof(DATA),DATA);
Ciesarik3 5:c1952cbf8111 83 }
Ciesarik3 5:c1952cbf8111 84
Ciesarik3 5:c1952cbf8111 85 void stop()
Ciesarik3 5:c1952cbf8111 86 {
Ciesarik3 5:c1952cbf8111 87 char DATA[]= {0x01};
Ciesarik3 5:c1952cbf8111 88 poslemSpravu(MOTOR,0xcc,sizeof(DATA),DATA);
Ciesarik3 5:c1952cbf8111 89 }
Ciesarik3 5:c1952cbf8111 90
Ciesarik3 5:c1952cbf8111 91 void hore()
Ciesarik3 5:c1952cbf8111 92 {
Ciesarik3 5:c1952cbf8111 93 char DATA[]= {0x02,0x64,0x00,0x00,0x00};
Ciesarik3 5:c1952cbf8111 94 poslemSpravu(MOTOR,0xcc,sizeof(DATA),DATA);
Ciesarik3 5:c1952cbf8111 95 }
Ciesarik3 5:c1952cbf8111 96
Ciesarik3 5:c1952cbf8111 97 void dole()
Ciesarik3 5:c1952cbf8111 98 {
Ciesarik3 5:c1952cbf8111 99 char DATA[]= {0x02,0x9c,0xff,0xff,0xff};
Ciesarik3 5:c1952cbf8111 100 poslemSpravu(MOTOR,0xcc,sizeof(DATA),DATA);
Ciesarik3 5:c1952cbf8111 101 }*/