Google+ Start   |   E-mail   |   Newsletter:

stmpe811_init

funkcja uint16_t stmpe811_init() zawiera błędne wpisy inicjalizacji zbocza przerwań INT0, INT1 lub INT2, jest tak:

źle
  1. #if USE_IRQ_NR == 0
  2.         // inicjalizacja przerwania synchronicznego INT0
  3. //      IRQ_DIR         &= ~IRQ_PIN;
  4.         IRQ_PORT        |= IRQ_PIN;
  5.         GICR            |= (1<<INT0);
  6.         MCUCR           &= (1<<ISC01);  // zbocze opadające  // <--- BŁĄD
  7. #endif
  8.  
  9. #if USE_IRQ_NR == 1
  10.         // inicjalizacja przerwania synchronicznego INT1
  11. //      IRQ_DIR         &= ~IRQ_PIN;
  12.         IRQ_PORT        |= IRQ_PIN;
  13.         GICR            |= (1<<INT1);
  14.         MCUCR           &= (1<<ISC11);  // zbocze opadające  // <--- BŁĄD
  15. #endif
  16.  
  17. #if USE_IRQ_NR == 2
  18.         // inicjalizacja przerwania asynchronicznego INT2
  19. //      IRQ_DIR         &= ~IRQ_PIN;
  20.         IRQ_PORT        |= IRQ_PIN;
  21.         GICR            |= (1<<INT2);
  22.         MCUCSR          &= (1<<ISC2);  // zbocze opadające // <--- BŁĄD
  23. #endif

 

 

powinno być tak:
 

dobrze
  1. #if USE_IRQ_NR == 0
  2.         // inicjalizacja przerwania synchronicznego INT0
  3. //      IRQ_DIR         &= ~IRQ_PIN;
  4.         IRQ_PORT        |= IRQ_PIN;
  5.         GICR            |= (1<<INT0);
  6.         MCUCR           |= (1<<ISC01);  // zbocze opadające  // <--- POPRAWIONE
  7. #endif
  8.  
  9. #if USE_IRQ_NR == 1
  10.         // inicjalizacja przerwania synchronicznego INT1
  11. //      IRQ_DIR         &= ~IRQ_PIN;
  12.         IRQ_PORT        |= IRQ_PIN;
  13.         GICR            |= (1<<INT1);
  14.         MCUCR           |= (1<<ISC11);  // zbocze opadające  // <--- POPRAWIONE
  15. #endif
  16.  
  17. #if USE_IRQ_NR == 2
  18.         // inicjalizacja przerwania asynchronicznego INT2
  19. //      IRQ_DIR         &= ~IRQ_PIN;
  20.         IRQ_PORT        |= IRQ_PIN;
  21.         GICR            |= (1<<INT2);
  22.         MCUCSR          &= ~(1<<ISC2);  // zbocze opadające  // <--- POPRAWIONE
  23. #endif

 

ikona Strona główna ikona O nas ikona Wydawnictwo ikona Elektronika ikona Oprogramowanie ikona Kursy ATNEL ikona Nowości ikona SKLEP ikona FORUM ikona Kontakt ikona Polityka Prywatności Cookie

ATNEL Nowoczesne Rozwiązania - programowanie AVR w C | pisanie programów dla AVR | pisanie programów ATmega | pisanie programów dla AVR | programowanie mikrokontrolerów |
mikrokontrolery AVR programowanie | programowanie w C mikrokontrolerów | programowanie ATmega | programy w C AVR
Realizacja: Dpl Agency - Projektowanie Stron Internetowych