vytah

Dependencies:   mbed

Fork of CRC by Zdenka Šibíková

Revision:
1:3a1827c56cd2
Parent:
0:18d4d4297051
Child:
2:cd46eb6deb30
diff -r 18d4d4297051 -r 3a1827c56cd2 main.cpp
--- a/main.cpp	Mon Nov 27 15:44:23 2017 +0000
+++ b/main.cpp	Mon Dec 04 15:12:52 2017 +0000
@@ -1,8 +1,57 @@
 #include "mbed.h"
 
-DigitalOut myled(LED_GREEN);
+
+
+#define INF_DISPLAY     0x30
+#define TERMINAL     0x0D
+
+#define CAB_BUT_P     0xb0
+#define CAB_BUT_1     0xb1
+#define CAB_BUT_2    0xb2
+#define CAB_BUT_3     0xb3
+#define CAB_BUT_4     0xb4
+
+#define CAB_DIODE_P     0x20
+#define CAB_DIODE_1    0x21
+#define CAB_DIODE_2     0x22
+#define CAB_DIODE_3     0x23
+#define CAB_DIODE_4     0x24
+
+#define ELEVATOR     0xf0
+
+#define FLOOR_BUT_4    0xc4
+#define FLOOR_BUT_3     0xc3
+#define FLOOR_BUT_2     0xc2
+#define FLOOR_BUT_1     0xc1
+#define FLOOR_BUT_P     0xc0
+
+#define FLOOR_DIODE_4     0x14
+#define FLOOR_DIODE_3     0x13
+#define FLOOR_DIODE_2    0x12
+#define FLOOR_DIODE_1    0x11
+#define FLOOR_DIODE_P     0x10
+
+#define FLOOR_LIMIT_SWITCH_4     0xe4
+#define FLOOR_LIMIT_SWITCH_3     0xe3
+#define FLOOR_LIMIT_SWITCH_2     0xe2
+#define FLOOR_LIMIT_SWITCH_1     0xe1
+#define FLOOR_LIMIT_SWITCH_P     0xe0
+
+#define MOTOR     0xf1
+
+
+
+
+
+
+
+
+
+
+
+
 Serial pc(USBTX, USBRX,57600);
-char naodoslanie[9];
+char naodoslanie[6];
 char crc=0x00;
 char ccc[256]={0, 94, 188, 226, 97, 63, 221, 131, 194, 156, 126, 32, 163, 253, 31, 65,
     157, 195, 33, 127, 252, 162, 64, 30, 95, 1, 227, 189, 62, 96, 130, 220,
@@ -21,40 +70,38 @@
     233, 183, 85, 11, 136, 214, 52, 106, 43, 117, 151, 201, 74, 20, 246, 168,
     116, 42, 200, 150, 21, 75, 169, 247, 182, 232, 10, 84, 215, 137, 107, 53};
 
-char sprava[5];
 
 int main()
 {
-   // int i = 0;
-    sprava[0]=0xD0;//adresa prijimatela
-    sprava[1]=0xAA;//adr. odosielatela
-    sprava[2]=0x41;//data na odoslanie
-    sprava[3]=0x42;//data na odoslanie
-    sprava[4]=0x43;//data na odoslanie
-    
-    naodoslanie[0]=0xA0;
-    naodoslanie[1]=sprava[0];
-    naodoslanie[2]=sprava[1];
-    naodoslanie[3]=0x3;
-    naodoslanie[4]=sprava[2];
-    naodoslanie[5]=sprava[3];
-    naodoslanie[6]=sprava[4];
+
+int dlzka=sizeof(naodoslanie)/sizeof(naodoslanie[0]); 
+
+    naodoslanie[0]=0xA0;//zaciatocny bajt
+    naodoslanie[1]=CAB_DIODE_P;//adresa prijimatela;CRC
+    naodoslanie[2]=0xAA;//adresa mojej dosky;CRC
+    naodoslanie[3]=dlzka-5;//pocet bajtov na odoslanie
     
-  int i;  
-for  (i=0;i<sizeof(sprava);i++){
-   crc=ccc[crc^sprava[i]];
+    //data
+    naodoslanie[4]=0x01;//CRC
+       // naodoslanie[5]='-';//CRC
+     //   naodoslanie[6]='5';//CRC
+
+   /////////////////////////
+   
+    crc=ccc[crc^naodoslanie[1]];
+    crc=ccc[crc^naodoslanie[2]];
+    
+for  (int i=4;i<dlzka-1;i++){
+   crc=ccc[crc^naodoslanie[i]];
    }
-naodoslanie[7]=crc;
+naodoslanie[dlzka-1]=crc;
 
-for(int p=0;p<sizeof(naodoslanie);p++){
+for(int p=0;p<dlzka;p++){
     pc.putc(naodoslanie[p]);
-   // pc.printf("%p\n",naodoslanie);
     }
-
+    
+    
+    
     while (true) {
-       /* wait(0.5f); // wait a small period of time
-        pc.printf("%d \n", i); // print the value of variable i
-        i++; // increment the variable
-        myled = !myled; // toggle a led
- */   }
+        }
 }