Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void prectiSerial() { //Funkce pro čtení Sériové komunikace a přiřazování hodnot
- if(Serial.available() > 0) { //Pokud je v bufferu nějaký znak
- c = Serial.read(); //Proměnná c je rovna příchozímu znaku
- switch(aktualni_stav) { //Funkce přiřazování hodnot ke správné proměnné
- /////////////////////////////////////////////////
- case L: // Pokud předchozí znak byl "L"
- if(c == 'l') aktualni_stav = L; // Když je znak "l", vrať se na případ "L"
- else if(c == 't') aktualni_stav = LT; // Když je další znak "t", pokračuj na "LT"
- else if(c == 'v') aktualni_stav = LV; // Jinak když je znak "v", pokračuj na "LV"
- else if(c == 'p') aktualni_stav = LP; // -----||----
- else if(c == 'm') aktualni_stav = M; // -----||----
- else aktualni_stav = NONE; //Pokud znak není roven ani jednomu, vrať se na default
- break; //Skonči možnost "L"
- /////////////////////////////////////////////////
- case LT: //Pokud znaky byly "l" a "t"
- if(c == 'b') //A další příchozí znak je "b"
- { //
- AmetrBuzeni = Serial.parseInt(); //Proměnná ampérmetr buzení je rovna numerickým znakům za ní
- aktualni_stav = NONE; //Vrať se na default
- } //
- else if(c == 'l') aktualni_stav = L; //Když by byl příchozí znak "l", vrať se k případu "L"
- else if(c == 'm') aktualni_stav = M; //Jinka když by znak byl "m", vrať se k případu "M"
- else aktualni_stav = NONE; //Pokud znak není roven ani jednomu, vrať se na default
- break; //Skonči mořnost "LT"
- /////////////////////////////////////////////////
- case LV:
- if(c == 'l') aktualni_stav = L;
- else if(c == 'm') aktualni_stav = M;
- else if(c == 'n')
- {
- Rychlomer = (Serial.parseInt())/(10);
- zapisRychlomer();
- aktualni_stav = NONE;
- }
- else if(c == 'p')
- {
- UkazatelARR = (Serial.parseInt())/(10);
- zapisUkazatelARR();
- aktualni_stav = NONE;
- }
- else aktualni_stav = NONE;
- break;
- /////////////////////////////////////////////////
- case LP:
- if(c == 'l') aktualni_stav = L;
- else if(c == 'v')
- {
- TlakValce = Serial.parseInt();
- aktualni_stav = NONE;
- }
- else if(c == 'm')
- {
- TlakVzduchojem = Serial.parseInt();
- aktualni_stav = NONE;
- }
- else aktualni_stav = NONE;
- break;
- /////////////////////////////////////////////////
- case M:
- if(c == 'l') aktualni_stav = L;
- else if(c == 's') aktualni_stav = MS;
- else aktualni_stav = NONE;
- break;
- /////////////////////////////////////////////////
- case MS:
- if(c == 'l') aktualni_stav = L;
- else if(c == 'm') aktualni_stav = M;
- else if(c == 'a')
- {
- AmetrMS1 = Serial.parseInt();
- aktualni_stav = NONE;
- }
- else if(c == 'b')
- {
- AmetrMS2 = Serial.parseInt();
- aktualni_stav = NONE;
- }
- else aktualni_stav = NONE;
- break;
- /////////////////////////////////////////////////
- default:
- if(c == 'l') aktualni_stav = L;
- else if(c == 'm') aktualni_stav = M;
- else aktualni_stav = NONE;
- break;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment