Skocz do zawartości

Przeszukaj forum

Pokazywanie wyników dla tagów 'przerwanie'.

  • Szukaj wg tagów

    Wpisz tagi, oddzielając przecinkami.
  • Szukaj wg autora

Typ zawartości


Kategorie forum

  • Elektronika i programowanie
    • Elektronika
    • Arduino i ESP
    • Mikrokontrolery
    • Raspberry Pi
    • Inne komputery jednopłytkowe
    • Układy programowalne
    • Programowanie
    • Zasilanie
  • Artykuły, projekty, DIY
    • Artykuły redakcji (blog)
    • Artykuły użytkowników
    • Projekty - DIY
    • Projekty - DIY roboty
    • Projekty - DIY (mini)
    • Projekty - DIY (początkujący)
    • Projekty - DIY w budowie (worklogi)
    • Wiadomości
  • Pozostałe
    • Oprogramowanie CAD
    • Druk 3D
    • Napędy
    • Mechanika
    • Zawody/Konkursy/Wydarzenia
    • Sprzedam/Kupię/Zamienię/Praca
    • Inne
  • Ogólne
    • Ogłoszenia organizacyjne
    • Dyskusje o FORBOT.pl
    • Na luzie

Kategorie

  • Quizy o elektronice
  • Quizy do kursu elektroniki I
  • Quizy do kursu elektroniki II
  • Quizy do kursów Arduino
  • Quizy do kursu STM32L4
  • Quizy do pozostałych kursów

Szukaj wyników w...

Znajdź wyniki, które zawierają...


Data utworzenia

  • Rozpocznij

    Koniec


Ostatnia aktualizacja

  • Rozpocznij

    Koniec


Filtruj po ilości...

Data dołączenia

  • Rozpocznij

    Koniec


Grupa


Imię


Strona


TempX

Znaleziono 1 wynik

  1. Witam. Chciałbym w programie z przerwaniem uzyskać następujący efekt żeby nie używać delaya: 1. Wywołuję przerwanie przyciskiem 2. W przerwaniu jest odmierzany czas przez Timer w Atmega8 i po np. 1 sekundzie przerwanie się kończy i przechodzi do programu głównego. Rozumiem że należy umieścić przerwanie wewnętrzne w zewnętrznym. Jak napiszę 2 przerwania pod sobą, pod programem głównym to po odpaleniu qC to co 1 s. będzie się włączało i wyłączało? Jak to ogarnąć już w kodzie takim jak poniżej bo gdzieś trzeba ten timer przerwania (np. TIMER1_OVF_vect) umieścić. Dziękuję z góry:) #include <stdio.h> #include <avr/interrupt.h> #define SWITCH (1<<PD3) int main(void) { //inicjalizacja przerwania - przycisk MCUCR |= (1<<ISC10); GICR |= (1<<INT1); //Timer1 TCCR1B |= (1 << WGM12); TCCR1B |= (1 << CS12); OCR1A = 31250; TIMSK |= (1 << OCIE1A); DDRD &= ~(SWITCH); PORTD |= (SWITCH); sei(); while (1) { } //kod programu } ISR(INT1_vect) { while(1) { //kod programu w przerwaniu } }
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.