zdenekpetrzd

Zápis dat

Sep 3rd, 2019
208
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.08 KB | None | 0 0
  1. void prectiSerial() { //Funkce pro čtení Sériové komunikace a přiřazování hodnot
  2. if(Serial.available() > 0) { //Pokud je v bufferu nějaký znak
  3. c = Serial.read(); //Proměnná c je rovna příchozímu znaku
  4.  
  5. switch(aktualni_stav) { //Funkce přiřazování hodnot ke správné proměnné
  6. /////////////////////////////////////////////////
  7. case L: // Pokud předchozí znak byl "L"
  8. if(c == 'l') aktualni_stav = L; // Když je znak "l", vrať se na případ "L"
  9. else if(c == 't') aktualni_stav = LT; // Když je další znak "t", pokračuj na "LT"
  10. else if(c == 'v') aktualni_stav = LV; // Jinak když je znak "v", pokračuj na "LV"
  11. else if(c == 'p') aktualni_stav = LP; // -----||----
  12. else if(c == 'm') aktualni_stav = M; // -----||----
  13. else aktualni_stav = NONE; //Pokud znak není roven ani jednomu, vrať se na default
  14. break; //Skonči možnost "L"
  15. /////////////////////////////////////////////////
  16. case LT: //Pokud znaky byly "l" a "t"
  17. if(c == 'b') //A další příchozí znak je "b"
  18. { //
  19. AmetrBuzeni = Serial.parseInt(); //Proměnná ampérmetr buzení je rovna numerickým znakům za ní
  20. aktualni_stav = NONE; //Vrať se na default
  21. } //
  22. else if(c == 'l') aktualni_stav = L; //Když by byl příchozí znak "l", vrať se k případu "L"
  23. else if(c == 'm') aktualni_stav = M; //Jinka když by znak byl "m", vrať se k případu "M"
  24. else aktualni_stav = NONE; //Pokud znak není roven ani jednomu, vrať se na default
  25. break; //Skonči mořnost "LT"
  26. /////////////////////////////////////////////////
  27. case LV:
  28. if(c == 'l') aktualni_stav = L;
  29. else if(c == 'm') aktualni_stav = M;
  30. else if(c == 'n')
  31. {
  32. Rychlomer = (Serial.parseInt())/(10);
  33. zapisRychlomer();
  34. aktualni_stav = NONE;
  35. }
  36. else if(c == 'p')
  37. {
  38. UkazatelARR = (Serial.parseInt())/(10);
  39. zapisUkazatelARR();
  40. aktualni_stav = NONE;
  41. }
  42. else aktualni_stav = NONE;
  43. break;
  44. /////////////////////////////////////////////////
  45. case LP:
  46. if(c == 'l') aktualni_stav = L;
  47. else if(c == 'v')
  48. {
  49. TlakValce = Serial.parseInt();
  50. aktualni_stav = NONE;
  51. }
  52. else if(c == 'm')
  53. {
  54. TlakVzduchojem = Serial.parseInt();
  55. aktualni_stav = NONE;
  56. }
  57. else aktualni_stav = NONE;
  58. break;
  59. /////////////////////////////////////////////////
  60. case M:
  61. if(c == 'l') aktualni_stav = L;
  62. else if(c == 's') aktualni_stav = MS;
  63. else aktualni_stav = NONE;
  64. break;
  65. /////////////////////////////////////////////////
  66. case MS:
  67. if(c == 'l') aktualni_stav = L;
  68. else if(c == 'm') aktualni_stav = M;
  69. else if(c == 'a')
  70. {
  71. AmetrMS1 = Serial.parseInt();
  72. aktualni_stav = NONE;
  73. }
  74. else if(c == 'b')
  75. {
  76. AmetrMS2 = Serial.parseInt();
  77. aktualni_stav = NONE;
  78. }
  79. else aktualni_stav = NONE;
  80. break;
  81. /////////////////////////////////////////////////
  82. default:
  83. if(c == 'l') aktualni_stav = L;
  84. else if(c == 'm') aktualni_stav = M;
  85. else aktualni_stav = NONE;
  86. break;
  87.  
  88. }
  89. }
  90. }
Advertisement
Add Comment
Please, Sign In to add comment