Advertisement
Guest User

Untitled

a guest
May 20th, 2018
255
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.54 KB | None | 0 0
  1. char X1, X2, Z1, Z2, T, G, tim, stan = 1;
  2. char a, b, c, d, znak, T1, T2, T3, stanK = 1;
  3.  
  4. ...
  5.  
  6. UART_init(9600);
  7.  
  8. ...
  9.  
  10. znak = COM_recv();
  11.  
  12. if(znak)
  13.     switch (stanK) {
  14.         case 1:
  15.             if (znak == ':') stanK = 2;
  16.             else stanK = 1;
  17.             break;
  18.         case 2:
  19.             if (znak >= '0' && znak <= '9') {
  20.                 a = znak - '0';
  21.                 stanK = 3;
  22.             } else stanK = 1;
  23.             break;
  24.         case 3:
  25.             if (znak >= '0' && znak <= '9') {
  26.                 b = znak - '0';
  27.                 stanK = 4;
  28.             }
  29.             else if (znak == '#') {
  30.                 if (a == 1) {
  31.                     COM_send(':');
  32.                     COM_send(T1 + '0');
  33.                     COM_send(T2 + '0');
  34.                     COM_send(T3 + '0');
  35.                     COM_send((5 - (T1 + T2 + T3)%5)%5 + '0');
  36.                     COM_send('#');  
  37.                 } else if (a == 0) {
  38.                     COM_send(':');
  39.                     COM_send(Z1 + '0');
  40.                     COM_send(Z2 + '0');
  41.                     COM_send(G + '0');
  42.                     COM_send((Z1 + Z2 + G)%2 + '0');
  43.                     COM_send('#');  
  44.                 }
  45.                 stanK = 1;
  46.             }
  47.             else stanK = 1;
  48.             break;
  49.         case 4:
  50.             if (znak >= '0' && znak < '5') {
  51.                 c = znak - '0';
  52.                 stanK = 5;
  53.             } else if (znak == '#') {
  54.                 if (a > 0 && b > 0 && a + b == 10) T3 = a;
  55.                 stanK = 1;
  56.             }
  57.             else stanK = 1;
  58.             break;
  59.         case 5:
  60.             if(znak == '0' || znak == '1') {
  61.                 d = znak - '0';
  62.                 stanK = 6;
  63.             } else if (znak == '#') {
  64.                 if(a > 0 && b > 0 && (a + b + c) % 5 == 0) {
  65.                     T1 = a; T2 = b;
  66.                 }
  67.                 stanK = 1;
  68.             } else stanK = 1;
  69.             break;
  70.         case 6:
  71.             if(znak == '#') {
  72.                 if (a < 2 && b < 2 && c < 2 && (a + b + c + d) % 2 == 0) {
  73.                     X1 = a; X2 = b; T = c;
  74.                 }
  75.                 stanK = 1;
  76.             } else stanK = 1;
  77.             break;
  78.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement