Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- char X1, X2, Z1, Z2, T, G, tim, stan = 1;
- char a, b, c, d, znak, T1, T2, T3, stanK = 1;
- ...
- UART_init(9600);
- ...
- znak = COM_recv();
- if(znak)
- switch (stanK) {
- case 1:
- if (znak == ':') stanK = 2;
- else stanK = 1;
- break;
- case 2:
- if (znak >= '0' && znak <= '9') {
- a = znak - '0';
- stanK = 3;
- } else stanK = 1;
- break;
- case 3:
- if (znak >= '0' && znak <= '9') {
- b = znak - '0';
- stanK = 4;
- }
- else if (znak == '#') {
- if (a == 1) {
- COM_send(':');
- COM_send(T1 + '0');
- COM_send(T2 + '0');
- COM_send(T3 + '0');
- COM_send((5 - (T1 + T2 + T3)%5)%5 + '0');
- COM_send('#');
- } else if (a == 0) {
- COM_send(':');
- COM_send(Z1 + '0');
- COM_send(Z2 + '0');
- COM_send(G + '0');
- COM_send((Z1 + Z2 + G)%2 + '0');
- COM_send('#');
- }
- stanK = 1;
- }
- else stanK = 1;
- break;
- case 4:
- if (znak >= '0' && znak < '5') {
- c = znak - '0';
- stanK = 5;
- } else if (znak == '#') {
- if (a > 0 && b > 0 && a + b == 10) T3 = a;
- stanK = 1;
- }
- else stanK = 1;
- break;
- case 5:
- if(znak == '0' || znak == '1') {
- d = znak - '0';
- stanK = 6;
- } else if (znak == '#') {
- if(a > 0 && b > 0 && (a + b + c) % 5 == 0) {
- T1 = a; T2 = b;
- }
- stanK = 1;
- } else stanK = 1;
- break;
- case 6:
- if(znak == '#') {
- if (a < 2 && b < 2 && c < 2 && (a + b + c + d) % 2 == 0) {
- X1 = a; X2 = b; T = c;
- }
- stanK = 1;
- } else stanK = 1;
- break;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement