Advertisement
MagnusArias

AVR | Krótka ściąga

Oct 14th, 2015
205
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.87 KB | None | 0 0
  1. (1<<PxN) - ustawienie portu
  2. x - nazwa (A,B,C,D)
  3. N - numer (0-7)
  4.  
  5.         DDRx - kierunek danych portów
  6. DDRx = 0;       // wejście
  7. DDRx &= ~(1<<PB0)   // wejście
  8.  
  9. DDRx = 1;       // wyjście
  10. DDRx |= SW;     // wyjście
  11.  
  12.  
  13.     PORTx - rejesteruje wszystko na WYJŚCIU z portu x, ustawianie stanów wysokich i niskich na porcie
  14. PORTx |= 1;         // stan wysoki
  15. PORTx  = 0;     // stna niski
  16.  
  17. PORTx |= SW;        // ustawienie stanu wysokiego na SW, pozostałe PORTx na niskim
  18.  
  19.  
  20.     PINx - rejestruje wszystko na WEJŚCIU z portu x, zwraca stan danego pinu
  21. if (PINx & SW) { }  // jeżeli dany PINx zwroci 1 oraz SW (jeżeli jest do pinu PxN przypisane) zwróci 1, to sie wykona
  22.  
  23.  
  24.     USTAWIANIE SWITCHA
  25. #define SW (1<<PA0)
  26. #define SW_ON !(PINA &SW) // zaprzeczenie, gdyz switche zazwyczaj są zwarte stale, czyli musi zwrocic 0 zeby sie wykonało
  27.  
  28. DDRx &= ~SW; // kierunek na wyjście
  29. PORTx |= SW; // stan wysoki
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement