zdenekpetrzd

Kontrolér - Serial

Feb 2nd, 2018
204
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.05 KB | None | 0 0
  1. //══════════════════════════════════════════════════════════════════════════════════════════════════════//
  2. //                                                                Hlavní lokomotivní kontrolér poměrného tahu                                                                    //
  3. // Funkce pro ovládání hlavního kontroléru, má dva vstupní parametry : 1) První pin PISO registru, po kterém následují další 3, se spínači stavu kontroléru                      //
  4. //                                                                     2) CVID - trojznak definovaný v programu TStoCOM                                                          //
  5. // Funkce posílá pomocí sériové linky hodnotu v rozsahu (-2)-(+2) (násobitel je 1)                                                                                               //
  6. //══════════════════════════════════════════════════════════════════════════════════════════════════════//
  7. int aktualStavKontroleru = 0;
  8. int staryStavKontroleru = 3;
  9. //══════════════════════════════════════════════════════════════════════════════════════════════════════//
  10. void Kontroler(int pointer, String CVID) {
  11.   for (int i=pointer; i < (pointer + 4); i++) {
  12.     bitWrite(aktualStavKontroleru, (i - pointer), tlacitko[i]);
  13.   }
  14.  
  15.   if(staryStavKontroleru != aktualStavKontroleru)
  16.   {
  17.     if(aktualStavKontroleru == 1) {
  18.         Serial.print(CVID);
  19.         Serial.print("2");
  20.         Serial.print("\r\n");
  21.     }
  22.     else if(aktualStavKontroleru == 2) {
  23.         Serial.print(CVID);
  24.         Serial.print("1");
  25.         Serial.print("\r\n");
  26.     }
  27.     else if(aktualStavKontroleru == 4) {
  28.         Serial.print(CVID);
  29.         Serial.print("-1");
  30.         Serial.print("\r\n");
  31.     }
  32.     else if(aktualStavKontroleru == 8) {
  33.         Serial.print(CVID);
  34.         Serial.print("-2");
  35.         Serial.print("\r\n");
  36.     }
  37.     else if(aktualStavKontroleru == 0) {
  38.         Serial.print(CVID);
  39.         Serial.print("0");
  40.         Serial.print("\r\n");
  41.    }
  42.     else {
  43.         Serial.print("Chybna poloha kontroleru!");
  44.         Serial.print("\r\n");
  45.     }
  46.     staryStavKontroleru = aktualStavKontroleru;
  47.   }
  48. }
  49. //══════════════════════════════════════════════════════════════════════════════════════════════════════//
Advertisement
Add Comment
Please, Sign In to add comment