przerwania timer switch

Znaleziono około 511 wyników dla: przerwania timer switch
  • [C][ATmega8]Zmiana sekwencji programu button switch

    Przerwanie od INT0 powinno aktywować przerwania od timera, które co 50ms będą zmieniać stan portu c: INT0: - blokuj przerwania INT0 - licznik sekwencji na portc = 0 - aktywuj przerwanie timera INT TIMERA: - switch (licznik sekwencji) ..... w ostatnik case czy default: 1) blokuj przerwania timera 2) kasuj flagę INT0 3) włącz przerwania int0

    Mikrokontrolery AVR   01 Paź 2019 17:57 Odpowiedzi: 26    Wyświetleń: 1419
  • [AVR][C] Multipleksacja 8 segmentowego LED - problem

    Źle podchodzisz do problemu - zmienna i (czyli numer wyświetlanej cyfry) powinna być zmienną globalną, którą w przerwaniu od timera zwiększasz, a następnie wykonujesz blok switch (i) { ... }. Oczywiście delay w przerwaniu to "bluźnierstwo" :) Preskaler ustaw sobie na 64, wtedy przerwanie od timera dostniesz ok. 400x na sekundę, czyli odświeżanie całego...

    Mikrokontrolery   07 Sty 2009 09:03 Odpowiedzi: 7    Wyświetleń: 3489
  • REKLAMA
  • Nie znalazłeś odpowiedzi? Zadaj pytanie Sztucznej Inteligencji

    Czekaj (1min)...
  • Atmega328p - Odczyt potencjometrów z przerwaniami, wartości 0-255

    No nie bardzo. Pętle busy waits są w przerwaniu niewskazane. Zrób tak jak napisał  (at)BlueDraco : odczyt poprzedniej konwersji-start następnej konwersji-wyjście bez czekania. [syntax=c]ISR(TIMER1_COMPA_vect) { switch(wejscie) { case 2: adc3=ADC; ADMUX = 0; ADMUX = (1<<REFS0)|wejscie; ADCSRA |= (1<<ADSC); break; case 3: adc2=ADC; ADMUX =...

    Mikrokontrolery Początkujący   20 Lut 2020 21:14 Odpowiedzi: 14    Wyświetleń: 1113
  • AVR - Reżim czasowy a przerwanie - wykrywacz metalu

    Zrób to w konwencji automatu - zmienna określające stan i duży switch (stan) w obsłudze przerwania z odpowiednim zachowaniem w każdym stanie. Na ogół wygodnie jest to zrobić przy stałej częstotliwości przerwań timera, odpowiadającej najkrótszemu odcinkowi czasu, który trzeba odmierzać lub takiemu, który jest podwielokrotnością wszystkich odmierzanych...

    Mikrokontrolery Początkujący   01 Lis 2013 21:57 Odpowiedzi: 4    Wyświetleń: 1443
  • [C] Jak obsłużyć switch w Atmega, by zmieniać sekwencje LED jednym naciśnięciem?

    Skoro już używasz timera, to zrób to na timerze :) Najprościej tak, że ustawiasz timer w tryb CTC, procedura obsługi przerwania działa tak jak to wcześniej opisałem. Jeśli chcesz uzyskać przyśpieszenie po przytrzymaniu klawisza to zmieniasz tylko wartość rejestru porównania w trybie CTC na mniejsza, w efekcie kolejne przerwania będą przychodzić szybciej,...

    Mikrokontrolery AVR   28 Maj 2010 18:08 Odpowiedzi: 24    Wyświetleń: 4805
  • REKLAMA
  • Arduino: Jak zaimplementować wielozadaniowość z leOS 2?

    Na Mega328 z KB RAM uruchamianie OS nie bardzo ma sens. Zrób wielowątkowość opierając cały program o maszynę stanów. Zapomnij, że istniej delay. Owszem, krótkich delay (mikrosekundy) w AVR przeważnie nie da się przeskoczyć ale nie zawsze. Na 1-Wire, można obsłużyć USARTem. Nie ma żadnych delay i 1-Wire działa na przerwaniach. Masz więc już pierwszy...

    Arduino   17 Lip 2018 12:05 Odpowiedzi: 5    Wyświetleń: 1509
  • REKLAMA
  • Jak uzyskać 32 kanały PWM z ATMEGA 32 bez migotania diod?

    Nie podoba mi się twoje rozwiązanie. Ja bym to zrobił tak - timer odmierzający takty w rytm podstawowego okresu PWM (czyli przerwania np. 1kHz). Teraz zamiast tych porównań z licznikami, wrzuć wartość licznika do rejestru compare register. Dzięki temu masz przerwanie po przepełnieniu timera (nowy okres) - w tym przerwaniu inicjujesz wysyłkę danych po...

    Mikrokontrolery AVR   04 Sie 2011 09:07 Odpowiedzi: 44    Wyświetleń: 6334
  • AtMega8 - Multipleksowanie wyświetlacza - problem z symulacja

    Włączasz timer przed skonfigurowaniem go - to nie jest dobry pomysł. Popatrz, jak pracuje Twój switch w przerwaniu timera. W pewnym momencie wys_ ma wartość 4 i z taką zostaje do następnego przerwania. Po co? zrób na końcu wys_ ++; wys_ &= 3; i usuń etykietę default. Dlaczego zmienne ewidentnie 8-bitowe mają u Ciebie typ int? - zmień obie tablice, cyfra...

    Mikrokontrolery AVR   30 Mar 2013 09:35 Odpowiedzi: 11    Wyświetleń: 2730
  • Jak zaprogramować Atmega16 do obsługi 4 wyświetlaczy 7-segmentowych?

    Najprościej odpalić timer i w przerwaniu wystawiać dane i przełączać segmenty przykład: ISR(TIMER1_COMPA_vect) { switch(wysw) { case 0: PORTD = 0b1111110; PORTB=cyfra[jednosci]; wysw++; break; case 1: PORTD = 0b1111101; PORTB = cyfra[dziesiatki]; wysw++; break; case 2: PORTD = 0b1111011; PORTB =...

    Mikrokontrolery AVR   30 Sty 2012 12:21 Odpowiedzi: 12    Wyświetleń: 7502
  • ATmega128 [C] - Pomiar czasu na Timer2 dla sygnału 15-150Hz

    Witam ! Tworzę mały sterownik do auta i mam problem. Dotyczy on pomiaru częstotliwości (a właściwie czasu trwania stanu niskiego lub wysokiego) na Atmedze 128, która po dalszych przeliczeniach będzie mierzyć obroty silnika. Sygnał , który będzie mierzony to prostokąt o wypełnieniu 50% i częstotliwości w granicach 15-150Hz. Jak w tytule pomiar ma się...

    Mikrokontrolery AVR   07 Lip 2016 06:44 Odpowiedzi: 1    Wyświetleń: 975
  • REKLAMA
  • Zgrzewarka na arduino.Jak przerwać pętlę.Wciśnięty przycisk chwilowy cały czas wyzwala zgrzewanie.

    Dziękuję za propozycje :) Niestety nie do wykonania przeze mnie, z uwagi na poziom moich umiejętności programowania, jak zaznaczyłem na wstępie :) Kwestia drgań i zakłóceń nieistotna, tact switch dobrej jakości. Poproszę o kawałek kodu, pasujący do oryginalnego, sprawdzający przycisk w przerwaniu timera co np. 50 ms oraz dodający niewielkie opóźnienie...

    Arduino   31 Sie 2024 09:27 Odpowiedzi: 12    Wyświetleń: 333
  • SPI wywłaszczane przez Timer3 – wydłużony czas obsługi SPI po przerwaniu timera

    Wytłumacz mi jedno: Oba przerwania nie korzystają ze wspólnych zasobów. A ja tam w obu widzę: [syntax=c]SPI2_IRQ_State = 0;[/syntax] W tym, że pierwsze przerwanie pokazałeś jakieś okrojone. Jaki parametr ląduje do instrukcji switch - case ? Niech zgadnę, ... SPI2_IRQ_State ?

    Mikrokontrolery   26 Mar 2012 21:53 Odpowiedzi: 12    Wyświetleń: 1875
  • [MSP430] [MSP430][CCS4] Zakłócenia w dźwięku przy użyciu PWM jako DAC na TIMER_A3

    Nie czaję ;) Dodano po 10 A próbowałeś wszystko wrzucić do przerwania od Timera0? #pragma vector=TIMER0_A1_VECTOR __interrupt void Timer0_A1(void) { switch(TA0IV) { case 0x0A : // TA0OVF przepełnienie Timer0_state++; if (Timer0_state >= 12) { Timer0_state = 0; if(play_sample == 1) { one_byte...

    Mikrokontrolery Pozostałe   17 Lut 2010 06:39 Odpowiedzi: 38    Wyświetleń: 9399
  • [Atmega8] Atmega8, C - Multipleksowanie wyświetlacza 7-seg, wspólna katoda, kodowanie cyfr

    Pokaż schemat połączeń, to po pierwsze. Po drugie nie potrzebujesz żadnej funkcji, ani instrukcji switch, tylko zwykłej tablicy : const uint8_t obraz_cyfry[10] = {0x7E, 0x30, 0x6d, itd...}; PORTD = obraz_cyfry[czas]; Na AVR short int ma taką samą długość jak int, a tutaj wyraźne chodzi o bajt - użyj uint8_t z stdint.h. Samo wyświetlanie multipleksowane...

    Mikrokontrolery Początkujący   28 Lut 2013 18:58 Odpowiedzi: 17    Wyświetleń: 2322
  • Nieregularne działanie klawiszy w pętli - uC i obsługa przycisków

    Zakładam, że przyciski są podłączone do pinów i zdefiniowane jako KLIK_MENU itd. Nie sprawdzaj w pętli głównej stanu przycisków tylko wrzuć sprawdzanie do przerwania od któregoś timera z ustawianiem wartości jakiejś flagi a w pętli głównej wykorzystaj funkcję switch - case. Poza tym nie widzę inicjacji portów.

    Mikrokontrolery AVR   01 Gru 2018 23:34 Odpowiedzi: 22    Wyświetleń: 1209
  • Framework AVR GCC do tablicowego sterowania pinami Atmegi jak w Arduino

    (...) odczytu temperatury. Jaki zaproponowałbyś kod (AVR GCC), aby nie trzeba było używać delay'a (może pooling lub maszynę stanu) ? Przy okazji przedstaw optymalną (bez zmiennoprzecinkowych liczb) konwersję danych ze scratpad'a na stopnie (może być złożeniem liczb całkowitych jako stopnie i części ułamkowe). Do obsługi termometrów DS18B20 bez blokowania...

    Mikrokontrolery Początkujący   07 Lut 2024 13:34 Odpowiedzi: 71    Wyświetleń: 1038
  • Attiny13 - jak zaprogramować reset czasu przez nowy impuls?

    Warto zacząć od uwzględnieniu sytuacji awaryjnych: 1. Co jeśli czujnik się odczepi, uszkodzi. Brak światła? 2. Co jeśli bateria pod wpływem wstrząsów chwilowo straci kontakt a mikrokontroler zasilanie. 3. Skoro to mikrokontroler, to może warto dodać stan baterii? Natomiast kolejne wciśnięcie switcha podczas ściecenia LED nie resetuje licznika czasu....

    Mikrokontrolery AVR   28 Sty 2019 12:59 Odpowiedzi: 16    Wyświetleń: 966
  • Jak multipleksować 3-cyfrowy wyświetlacz LED 7-segmentowy?

    Nie wiem jak wygląd biblioteka wyswietlacze.h i co dokładnie robi cyfra(). Zakładam że są dobrze napisane To co niżej napisałem powinno działać. Napisane jest to dla pierwszych czterech wyświetlaczy od góry. [syntax=c] #define F_CPU 8000000L #include <avr\io.h> #include <avr/interrupt.h> #include <inttypes.h> #include <util/delay.h>...

    Początkujący Elektronicy   21 Lis 2013 02:09 Odpowiedzi: 10    Wyświetleń: 1266
  • [Attiny13] Attiny13 - Nieprawidłowe działanie diod po wciśnięciu przycisku

    Problemy są dwa: błędna konstrukcja kodu i użycie przerwania od przycisku. Zacznij od zaprogramowania timera tak, żeby zgłaszał przerwania z częstotliwością np. 100 Hz (tryb CTC). Zrób pustą pętlę główną. W przerwaniu timera sprawdzaj programowo stan przycisków i reaguj. Przyda się konwencja automatu: [syntax=c]switch (stan) { case S_START: if (P1)...

    Mikrokontrolery AVR   24 Wrz 2013 17:27 Odpowiedzi: 1    Wyświetleń: 1263
  • Ulepszenie kodu sterownika silnika krokowego na ATmega8 w C - porady?

    1. Ustaw timer tak, by bez pomocy oprogramowania generował przerwania w stałych odstępach czasu. 2. Użyj tablicy zamast instrukcji switch, która w każdym case robi to samo, tylko z inną wartością stałej. Switch zdecydowanie nie do tego służy. pozycja ++; pozycja &= 3; PORTC = tab[pozycja];

    Mikrokontrolery AVR   10 Maj 2013 17:07 Odpowiedzi: 15    Wyświetleń: 3039
  • [ATmega8A] [C] przerywanie timera2 z zew. kwarcem zegarkowym

    1. Disable the Timer/Counter2 interrupts by clearing OCIE2 and TOIE2. 2. Select clock source by setting AS2 as appropriate. 3. Write new values to TCNT2, OCR2, and TCCR2. 4. To switch to asynchronous operation: Wait for TCN2UB, OCR2UB, and TCR2UB. 5. Clear the Timer/Counter2 Interrupt Flags. 6. Enable interrupts, if needed. DS pod tym względem trochę...

    Mikrokontrolery AVR   28 Cze 2017 09:30 Odpowiedzi: 3    Wyświetleń: 867
  • Dlaczego program nie działa poprawnie? Komunikacja komputera z uC.

    Przykładowy szkielet programu: [syntax=c]while(1) { znak = uart_receive(); // pobranie znaku z bufora odczytu UART if(znak) { }// procedura jeśli odebrano znak switch(stan_swiatla) { // automat zmiany świateł case 1: red=0; yellow=0; greek=0; if(czujnik) stan_swiatla=2; break; case 2: // zmiany świateł w kolejnych stanach } _delay_ms(200); // cykliczne...

    Arduino   25 Lut 2019 20:03 Odpowiedzi: 31    Wyświetleń: 1677
  • Atmega 8 - Timer 2: Problem z ISR po zmianie zmiennej globalnej `choose`

    Mimo, że mogę zmieniać wartość rejestru(sprawdzałem przez rs232) to ISR (TIMER2_COMP_vect) włącza się chyba przy wartości 0, bo czas pulsu wynosi 4ms- czyli przy 8MHz prescalerze 128 wychodzi ok. 250. Nie mam pojęcia co się dzieje. Po resecie mikrokontrolera wszystko działa ok, a gdy tylko zmienię wartość zmiennej choose wszystko się sypie... Prawdę...

    Mikrokontrolery AVR   29 Gru 2013 11:04 Odpowiedzi: 8    Wyświetleń: 1836
  • DS18B20 na delay_ms, wyświetlacz na timerze nie działa

    Tak nie powinno się robić ale to wstaw w przerwanie od Timera [syntax=cpp] switch(wysw){ case 1: if(minus!=0){ PORTA=~LED_minus; PORTB=~0x01;} break; case 2: PORTA=LedLookup[(temp/10)]; PORTB=~0x02; break; case 3: PORTA=LedLookup[(temp%10)]|~LED_DP; PORTB=~0x04; break; case 4: PORTA=LedLookup[temp_ulamek]; PORTB=~0x08; break; } [/syntax] W temperatura()...

    Mikrokontrolery AVR   20 Wrz 2011 21:28 Odpowiedzi: 54    Wyświetleń: 5496
  • LPC2148 - Zawieszanie się programu przy przerwaniach zewnętrznych i TIMER0

    Witam! Na wstępie chciałem zaznaczyć, że od niedawna dopiero poznaję procesory z serii ARM. Bardzo dawno temu miałem styczność z 51- jedynką i keilem. Moje doświadczenie w programowaniu C też nie jest oszałamiające, natomiast asembler na ARM jak na razie jest przeze mnie mało zrozumiany. Proszę o wyrozumiałość przy pisaniu ewentualnych odpowiedzi, za...

    Mikrokontrolery ARM   19 Lis 2015 21:16 Odpowiedzi: 10    Wyświetleń: 1203
  • DIY Lampki choinkowe WS2812B

    Domyślam się, że chodzi o efekt nr 2 z tymi losowymi kolorkami. To chyba jeden z najprostszych efektów :) Co 20ms losowana jest nowa pozycja i nowy kolor. Dla większej ilości led warto przyspieszyć efekt (zmniejszyć wartość "speed"). [syntax=c] //pętla główna . . . if(!tspeed) //timer w przerwaniach z taktowaniem 1ms { tspeed = speed;//Prędkość efektu...

    DIY Konstrukcje   25 Gru 2021 12:57 Odpowiedzi: 32    Wyświetleń: 12882
  • [Atmega32][C] Problem przy odczycie małej klawiatury + PWM

    PWM mógłbyś użyć do sterowania silnika prądu stałego, ale nie silnika krokowego. W Twoim przypadku żeby zmienić prędkość musiałbyś zmienić opóźnienie pomiędzy impulsami podawanymi na uzwojenia silnika. Na początek napisz coś takiego: uint8_t predkosc = 0; for (int i = 0; i < 4; ++i) { PORTB = _BV(k); switch (predkosc)...

    Mikrokontrolery AVR   17 Maj 2009 20:12 Odpowiedzi: 3    Wyświetleń: 1421
  • Jak efektywnie zarządzać przerwaniami i zadaniami w dużych projektach na uC?

    Ja staram się w przerwaniach zrobić wszystko co możliwe bez zbędnego oczekiwania. Na podstawie uzyskanych w przerwaniach kompletnych danych, w głównej pętli aktualizowany jest stan wyświetlaczy. Na przykład w przerwaniu od ADC odczytuję wynik konwersji, ustawiam kolejny kanał i uruchamiam konwersję. Jeśli wynik jest alarmujący, np. za wysoki prąd lub...

    Mikrokontrolery   01 Lip 2013 11:18 Odpowiedzi: 39    Wyświetleń: 6096
  • Projekt zegara z Atmega8A i kwarcem 8MHz - schemat i kod programu

    Witam, ostatnio zabrałęm się za projekt prostego zegara. Układ wyświetla godzinę na 4 cyfrach wyświetlacza LED wspólna anoda. Oto wyniki mojej pracy: schemat: http://obrazki.elektroda.pl/9370666700_1... Do mikrokontrolera Atmega8A podłączony jest kwarc 8MHz. A to program [syntax=c]/* * zegar.c *F_CPU 8000000UL zewnetrzny kwarc częstotliwość...

    Początkujący Elektronicy   18 Mar 2014 22:37 Odpowiedzi: 4    Wyświetleń: 1593
  • Zasady pisania programów pseudowielowątkowych na małych proc

    1wire da sie oprogramować czysto na przerwaniu. Dokladnie dwoch, w tym timer i external interrupt na oba zbocza, maszynę stanu na switch-u w przerwaniu tego external interrupt-a. 1wire zrealizowany w taki sposob zuzywa dokladnie 2...10% czasu procesora :] Okazuje się, że można urównoleglić wiele kanałów (optymalność zależy od tego czy procesor dysponuje...

    Mikrokontrolery   12 Kwi 2011 22:58 Odpowiedzi: 103    Wyświetleń: 15089
  • Jak zatrzymać pętlę while z przerwania w C?

    Mam taki oto program: while (1) { ....... //ciag bardzo wielu instrukcji w tym delaye w postasi petli for itp ....... } void T0_int (void) interrupt 0 using 1 //przerwanie od timera 0 { if (P1.0==0) {} //I tu jest wlasnie problem: za pomoca jakiej funkcji //gdy wcisne switch podpiety pod P1, przerwanie // spowoduje przerwanie dzialania petli while????...

    Mikrokontrolery   15 Wrz 2004 22:58 Odpowiedzi: 13    Wyświetleń: 2060
  • Jak zbudować obrotomierz na Atmega8 z linijką LED i czujnikiem impulsów?

    W kwestii timerów i przerwań, to mozesz przeczytać o tym na mojej stronie: Timery: http://wkretak.pl/readarticle.php?articl... Co do tych dipów to miałem ich trzy czyli mogłem sobie wymyślić 8 różnych zakresów. Powiedzmy ze przełączniki te podepniesz pod PB0, PB1 i PB2. I potem robiłem coś w stylu: zakres = (PINB.0) + (PINB.1 * 2) + (PINB.2 * 4);...

    Automatyka Przemysłowa   12 Maj 2009 07:25 Odpowiedzi: 23    Wyświetleń: 3943
  • [c] Jak poprawnie sterować portami ATmega32 w zegarze NIXIE z lampkami LC-513?

    Nie chce mi się analizować zbytnio tego kodu, z powodu rażąco rażących błędów... Na pierwszy rzut oka delay-e zamiast wszystko oprzeć o przerwanie jakiegoś timera... Po drugie, jakoś tak dziwnie napisany switch?... W książkach każą używać klamer o ładnych kształtach "}" "{" wokół kodu w case o ile jest w nim więcej niż jedna instrukcja... Po trzecie,...

    Mikrokontrolery AVR   16 Wrz 2011 19:32 Odpowiedzi: 27    Wyświetleń: 3282
  • [8051] [Keil] - odbiór danych z rs232 i ich użycie [Proteus]

    W kodzie jest mnóstwo błędów, ale to, co Ty uważasz za błąd akurat błędem nie jest. Zacznijmy od tego, że prawdopodobnie masz ciągle zgłoszone i nieobsługiwane przerwanie nadajnika, bo zupełnie nie wiadomo po co kazałeś UARTowi wysłać 0. Timer generujący szybkość transmisji jest źle zaprogramowany - pierwszy okres będzie inny, niż następne, a te następne...

    Mikrokontrolery Początkujący   28 Sie 2014 18:10 Odpowiedzi: 7    Wyświetleń: 2592
  • Przerwania proste i przyjemne - część 1 - dobre praktyki programowania

    Każda aplikacja osadzona na ogół zawiera w sobie zestaw funkcji. I nawet najprostsza, na przykład do regulowania temperatury, obejmuje szereg zadań, takich jak odczytywanie danych wejściowych od użytkownika lub z czujnika temperatury/wejścia ADC, wyświetlanie zasobów na wyświetlaczu LCD i sterowanie wyjściem zarządzającym pracą wentylatora/grzałki itp....

    Artykuły   23 Lut 2022 13:10 Odpowiedzi: 11    Wyświetleń: 3069
  • Attiny2313 - Niskie napięcie na kolektorze tranzystora w wyświetlaczu 7-seg.

    Typ tranzystora jest praktycznie bez znaczenia - dowolny nie za duży pnp. Mylisz częStotliwość przerwń z częstotliwością zegara timera. Zegar ma w tym przypadku częstotliwość 1000000 / 64, a ty dzielisz to timerem przez 254, co daje jakieś marne 64 Hz - sporo za mało, wyświetlacz wibruje jak wściekły. Powinno być ok. 1200 Hz, a minimum 600 Hz. Przy...

    Mikrokontrolery Początkujący   21 Wrz 2013 13:53 Odpowiedzi: 22    Wyświetleń: 3516
  • AVR GCC – pomiar czasu między przerwaniami INT0, ustawianie OCR w trybie CTC

    Program jest rozbudowany i złożony z kilku plików żródłowych i nagłówkowych ten main był tylko przykładowy. Rozchodzi mi się głównie o procedurę liczenia, tak jak radził kolega wrzuciłem ją w procedurę przerwania [syntax=c] ISR(INT0_vect) // wykryj przerwanie { sreg = SREG;//save global interrupt flag cli(); //disable interrupt czas = TCNT1/192;//zczytaj...

    Mikrokontrolery AVR   12 Lut 2012 15:10 Odpowiedzi: 10    Wyświetleń: 2188
  • arduino - wciskając czterokrotnie switch zapala się led

    Ja bym to zrobił takim schematem: Zmienna LicznikWcisniec jest domyślnie zerem Pierwszy aktywny sygnał z przycisku (wtedy, gdy LicznikWcisniec jest zerem) ustawia zmienną LicznikWcisniec na jeden, oraz zeruje i włącza jeden z timerów, który ogranicza ramkę czasu do okresu, w którym spodziewamy się czterech kliknięć (praktycznie okolo jednej sekundy)....

    Arduino   27 Paź 2014 21:11 Odpowiedzi: 11    Wyświetleń: 2550
  • [C] Atmega16: Jak uniknąć problemów z _delay_ms w przerwaniach Timer0?

    mam następujący problem: mam napisaną funkcję w której zastosowana jest kilkukrotnie komenda _delay_ms, następnie w programie musiałem zastosować Timer0 w trybie przepełnienia który jest odpowiedzialny za wyświetlanie(7-seg led) i przyciski, po naciśnięciu przycisku wywoływana jest funkcja zawierająca _delay_ms, co sprawia żę wyświetlanie się rozjeżdża(tzn...

    Mikrokontrolery AVR   28 Mar 2009 11:54 Odpowiedzi: 4    Wyświetleń: 3268
  • Stare na nowe czyli kod z ATMEGA 32 usiłuje wziąć do STM32F103

    Zmieniony program sterownika. dodałem przerwanie timera a w nim: obsługę klawiszy w przerwaniu co 50ms uaktualnienie zegara oraz synchronizacje z wewnętrznym RTC co godzinę pustą funkcję timerIntervalHalfSec w której proponuję odczytywać stan wejść analogowych, nie na raz tylko po jednym. dodatkowo masz przerobioną funkcję switch reagującą na nacisnięcie...

    Mikrokontrolery ARM   09 Sie 2024 15:25 Odpowiedzi: 330    Wyświetleń: 6531
  • [Atmega88][C] Uzupełnienie kodu dla generatora 2kHz w trybie CTC na Timer1 16bit

    Teraz trochę inna kwestia. Chcę zrobić zewnętrzne przerwanie, które reaguje na wciśnięcie przycisku i wtedy dopiero ma się uruchomić w nim generowanie tych 2kHz (działa tylko przy wciśniętym switchu, . Częstotliwość jest obecnie generowana non-stop, tak jak kolega wspomniał nie potrzebne są przerwania. Tylko jak teraz do tego napisać w/w przerwanie...

    Mikrokontrolery AVR   07 Paź 2020 15:00 Odpowiedzi: 10    Wyświetleń: 831
  • [Atmega8] [Atmega8][C] - Jak zaimplementować odliczanie godzin od 100 do 0?

    Potrzebuję zliczać godziny i nie musi być do dokładnie. Jeśli zamiast godziny, będę miał godzinę i minutę, albo 59 minut, to nic się nie stanie. Mam już uruchomiony jeden timer do multipleksowania: ISR(TIMER2_COMP_vect) Jak dodać drugi, żeby się to nie gryzło? Po wyzwoleniu przerwania zewnętrznego przez switch, zamiast temperatury wyświetlić się ma...

    Mikrokontrolery AVR   02 Lis 2014 14:40 Odpowiedzi: 26    Wyświetleń: 1635
  • [ATMega8L][C] - Dokładność zegara zbudowanego na ATmedze8L

    I kolejny krok do przodu :) Kondensator 100nF na pinie kwarcu zapewne wpływa bardzo na częstotliwość pracy timera2, ale tego jesteś świadomy. Należy więc najpierw rozwiązań problem niestartowania Timer2, by pozbyć się kondensatora i palucha :) Tutaj funkcja projektu który niebawem opublikuję: [syntax=c]void dd_timer2_rtc_ini(void){ //Funkcja inicjująca...

    Mikrokontrolery AVR   29 Mar 2013 22:32 Odpowiedzi: 14    Wyświetleń: 1995
  • Konfiguracja jednego timera TCA0 do dwóch częstotliwości.

    Podziałam dzisiaj wieczorem i dam znać co z tego wyszło. Kod do analizy/weryfikacji poniżej: /* * Atmeta4808_PomiarSily.c * * Created: 24.02.2025 23:00:58 * Author : Waldek */ #define F_CPU 20000000UL // wewnętrzny kwarc 20Mhz #include <avr/io.h> #include <util/delay.h> #include <avr/interrupt.h> #include <util/atomic.h>...

    Mikrokontrolery   09 Mar 2025 18:32 Odpowiedzi: 17    Wyświetleń: 402
  • [AVR] [bascom] Uzywanie jednego pinu IO do switcha i LED.

    Witam sprawdź ten kod co prawda są inne numery portów i inny procek ale jak zmienisz powinno działać. Problem jest jeden w momencie jak naciskasz przycisk i zmieniasz końcówkę na WYJŚCIE to stan tego pinu Musi być (0) Niski , żeby nie zrobić zwarcia. '$sim $regfile = "attiny2313.dat" $crystal = 11059200 $baud = 9600 enable interrupts 'włącz...

    Mikrokontrolery AVR   03 Gru 2009 22:28 Odpowiedzi: 19    Wyświetleń: 4286
  • [Bascom] - Attiny13 - Przerwanie Timer'a - krótki impuls

    Piszę program, do czasowego wyzwalania migawki: Na pokładzie mam attiny13, tact-switcha, oraz diodę led i transoptor. Układ ma wysyłać impuls ok 300ms co określony czas. Czas ustawia się poprzez wciskanie przycisku - jedno wciśnięcie = 0.5s więcej. Dłuższe przyciśnięcie (pow. 3s) powoduje ustawienie minimalnego czasu(0.5s). Problem jest taki, że im...

    Mikrokontrolery   29 Kwi 2013 14:50 Odpowiedzi: 5    Wyświetleń: 2001
  • Atmega644PA - Obsługa przerwania, multipleksowanie ADC

    Wow, zadziałało. Tzn, diody się palą takim światłem jak powinny, i kolejno zapalają się i gaszą co trochę więcej niż sekundę. Siedzę i się szczerzę do tych diod jak mysz do sera :D Ale mam jeszcze kilka pytań: volatile _Bool utflag = 0; while(1) { if (utflag) { utflag = 0; ( . . . ) ISR(TIMER0_COMPA_vect) { static uint16_t utimer = 0; ( . . . ) if (++...

    Mikrokontrolery   10 Sty 2016 16:07 Odpowiedzi: 53    Wyświetleń: 2865
  • Atmega8 LM35 - Termometr - jak zdeklarować dziesiątki i jedności ?

    Witam, Pisze kod do projektu termometr na czujniku LM35 i Atmega8. Wartości zmierzonego napięcia z czujnika zapisuję w zmiennych TEMP oraz DZIESIATKI i JEDNOSCI. Mój problem polega na tym, że nie wiem jak mam zadeklarowac zmienne DZIESIATKI i JEDNOSCI aby mozna było te wartości przekazywać do obsługi przerwania ISR(TIMER0_OVF_vect) w którym chcę wyświetlać...

    Mikrokontrolery AVR   09 Lut 2015 19:04 Odpowiedzi: 2    Wyświetleń: 828
  • Sterownik bramy garażowej uchylnej

    https://obrazki.elektroda.pl/5718944600_... Przedstawiam efekty mojej próby zmierzenia się z tematem sterowania bramą garażową. Taka potrzeba pojawiła się po awarii oryginalnej elektroniki napędu. Zamiast kupować następną identyczną płytkę sterującą (która znowu padnie po jakimś czasie), można przecież zrobić swoją, prostszą, i potem...

    DIY Smart Home   22 Wrz 2021 20:59 Odpowiedzi: 30    Wyświetleń: 13878
  • [WinAVR][C] - zamiana zmiennej na stan portów / przerwania.

    Wybacz, spiszy mi sie i wyskakuja mi literówki, miałem na mysli switch. Jutro wykombinuje jakieś opóźnienie, tymczasem dziękuje za udzieloną pomoc. Wydaje mi sie ze jestem coraz blizej sukcesu, brakuje mi tylko wiedzy jak włączyc timer w trybie CTC :P

    Mikrokontrolery AVR   12 Sie 2008 13:04 Odpowiedzi: 14    Wyświetleń: 4401
  • Attiny2313 - Konfiguracja Timer0 w C w Atnel Studio 6, jak napisać kod?

    Dziękuję za odpowiedź. Oczywiście o volatile pamiętałem, a cały środek przerwania w C mam już napisany tylko tutaj nie wrzucałem. Problem z dziwnym działaniem programu już rozwiązałem. Okazało się, że przyczyną nie był timer tylko brak dodania break w pętli switch. Tak banalna rzecz, że aż mi głupio :D W każdym razie dziękuję za pomoc. Dodano po 2 Pozwolę...

    Mikrokontrolery AVR   03 Lip 2014 18:00 Odpowiedzi: 8    Wyświetleń: 2178
  • Jak dekodować sygnał RC5 w ATTiny13A za pomocą asemblera?

    Chodzi o to, że przerwanie powinno tylko być małym produktorem (lub konsumentem) informacji, i popychać/czytac te informacje z/do jakiegoś bufora (kołowego lub nie), a interpretacja/składanie danych z bufora powinna byc w petli głównej . Doszczętne przetwarzanie danych w samym przerwaniu to śmierć kliniczna procesora. Mam rozne kody do obsługi różnych...

    Mikrokontrolery AVR   03 Lip 2011 12:30 Odpowiedzi: 5    Wyświetleń: 2130
  • ATmega32 sterowanie silnikami krokowymi - robot kartezjański

    Pierwsze, to nie możesz kuglować włączaniem i wyłączaniem przerwań. Silnik musisz zatrzymywać w inny sposób. z stepCounter zrób tablicę stepCounter[4]; Przerwanie zmodyfikuj mniej więcej tak [syntax=c] ISR(TIMER0_COMP_vect) //funkcja obsługi przerwania { for(char l=0; l<4; x++) { // lepiej for(char l=0; l<LSILNIKOW; x++) // i zrobić #define LSILNIKOW...

    Mikrokontrolery AVR   19 Mar 2018 15:54 Odpowiedzi: 8    Wyświetleń: 876
  • [AVR] [C] - Jak obsłużyć przerwania INT0 i timer0 w atMega8?

    Jestem elektronikiem i jest to na tyle prosty układ, że obyło się bez schematu. Na ten czas wyglada to tak: [syntax=c] ////////////////////////////////////////... // Alarm otwartych drzwi // Wywolanie przerwania z magnetu INT0 // Regulacja dip-switch czasu bez pikania (5s, 15s, 30s...) // Taktowany...

    Mikrokontrolery AVR   22 Lis 2013 00:28 Odpowiedzi: 60    Wyświetleń: 6150
  • [avr] Jak obsłużyć przerwania w AVR do zmiany trybu pracy uC?

    Witam. Widze, ze wielu fachowcow juz sie podejmowalo tlumaczenia, ale jakos bez rezultatu. Po wciśnięciu jednego z przycisków, uC ma "wpadać" w nieskończoną pętlę. ... chciałbym zmieniać tryb pracy mojego uC bez względu w jaką pętlę wpadł ... ... Dwa switche będą wykonywały dwie różne od siebie nieskończone pętle, które będą trwały do momentu odłączenia...

    Początkujący Naprawy   29 Wrz 2011 22:09 Odpowiedzi: 16    Wyświetleń: 2838
  • 500-watowy inteligentny ściemniacz z pojedynczym białym biegunem i czujnikiem ruchu zasilany przez H

    Naprawdę smutne, zbyt wiele kłopotów dla niektórych ściemniaczy. Wracam więc do home depot. Czy ktoś wie, dlaczego używają dodatkowego esp lub pochodnej 8051 do implementacji funkcji ściemniacza? Czy ESP (może też tuya) nie ma wystarczających możliwości (przestrzeń, przerwania, timery) itp. Aby łatwo zaimplementować ściemnianie? Mój 3-drożny ściemniacz...

    Smart Home IoT   02 Maj 2024 07:30 Odpowiedzi: 13    Wyświetleń: 1137
  • ATMEGA8 – obsługa dwóch ADC na przerwaniach, brak wywołania ISR po konwersji

    zrobiłem pomiar ADC na 2 kanałach a wynik wyświetlam na LCD mam ale problem z tym że adc jest 10 bitowy i gdy chce wyświetlić wynik licząć na to że bedzie od 0 do 1023 okazuje sie że wyświetlą jakies brednie powyżej 4200 ... nie rozumie czemu. jezeli wyswietle sobie wynik tylko z ADCH ( rejest 8 bitowy 0-255) to pokazuje poprawie od 0 do 255 na lcd...

    Mikrokontrolery AVR   16 Lut 2015 09:45 Odpowiedzi: 17    Wyświetleń: 1881
  • RF-SWITCH - zdalne sterowanie/ściemniacz RF/IR...

    Hej, z ciekawości zajrzałem do kodu nadajnika i wydaje mi się, że znalazłem małego robaka. Otóż, uruchomiłeś przerwanie zewnętrzne dla zmiany stanu wejść PCINTx celem wybudzenia kontrolera z trybu uśpienia, a konkretnie z głębokiego trybu Power Down. Jednak w kodzie brak jest procedury obsługującej to przerwanie. Wystarczy że pod adresem wektora przerwania...

    DIY Konstrukcje   12 Sty 2014 00:00 Odpowiedzi: 58    Wyświetleń: 30207
  • Atmega 32 - Jak przekazać wartość sekund z przerwania timer0 do main?

    Witam ,napisałem sobie następujący program który ma pełnić funkcję prowizorycznego zegarka. W obsłudze przerwania timer inkrementuję sobie sekundy , ale gdy chce wyświetlić je w main ciągle wyświetla zero na led. Natomiast gdy ostatnią linijkę kodu zamieszczę w obsłudze przerwania działa ok . W związku z tym moje pytanie jak zrobić, żeby przekazywać...

    Mikrokontrolery AVR   30 Maj 2009 20:48 Odpowiedzi: 2    Wyświetleń: 2725
  • ATmega32 - Przerwanie timer0 nie działa z warunkiem Transmit w USART_RXC_vect

    Próbowałem ustawiłem tam np wyświetlenie częstotliwości z funkcji przelicz i działa. Z moich obserwacji i testów wynika że przed wysłanie ramki częstotliwości układ przyjmuje wszystkie dane a po odebraniu częstotliwości i wyświetleniu jej na LCD już nie przyjmuje. Dodano po 1 Kolejne spostrzeżenie - po wykonaniu metody ustaw_timer() przerwanie USART_RXC_vect...

    Mikrokontrolery AVR   04 Sty 2013 23:53 Odpowiedzi: 17    Wyświetleń: 2232
  • Którego języka programowania nauczę się najszybciej ?

    Niekoniecznie "hardkorem", jak dzisiaj sobie złożyłem i napisałem dla zabawy prosty termometr elektroniczny na ATmega48, multipleksowanych wyświetlaczach 7-segmentowych i czujniku LM35 (timery, ADC, przerwania), spojrzałem w kod, to z "wysokopoziomowych" rzeczy miałem trzy zmienne modyfikowane w sumie w czterech miejscach, kilka #define, jedną instrukcję...

    Mikrokontrolery AVR   18 Sie 2010 10:00 Odpowiedzi: 32    Wyświetleń: 7234
  • [Atmega8, C] Jak wysterować 20 LEDów na Atmega8 za pomocą charlieplexingu?

    Ok trochę poprawiłem, na coś takiego: [syntax=c]#define F_CPU 8000000L #include <avr/io.h> #include <avr/interrupt.h> //***********************Zmienne Globalne**************************// char Dioda = 1; //************************Funkcja Główna***************************// int main(void) { //*******************Ustawienia Portów*************************//...

    Mikrokontrolery   06 Sie 2013 19:27 Odpowiedzi: 8    Wyświetleń: 1791
  • [C] Termostat "wielozadaniowość" DS18b20, Atmega168 C

    Witam. Otóż mam taki problem ;) Dwa czujniki DS18b20 podłączone są do osobnych pinów Atmegi168, PINB0, PINB1. Chciałem to zrobić w ten sposób aby w przerwaniu ustawiana była flaga (co sekundę) która realizowana była w pętli głównej while(1), w ten sposób, aby co sekundę na zmianę wykonywany został convert oraz odczyt. Wydaje mi się, że wszystko zrobiłem...

    Programowanie Początkujący   16 Lip 2012 19:48 Odpowiedzi: 2    Wyświetleń: 1360
  • Atmega16: Problem z przerwaniami i obsługą serwomechanizmu w C

    Witam. Kłopot mam następujacy... walczylem dziś z modelarskim servo. Znalazłem program "gotowca" na AVRFreaks. kod poniżej: #include <stdio.h> #include <avr/io.h> #include <avr/interrupt.h> /**************** Globale variable **************/ static enum {av1,paa1} servo1=paa1; static enum {av2,paa2} servo2=av2; unsigned...

    Mikrokontrolery   03 Mar 2009 11:55 Odpowiedzi: 2    Wyświetleń: 879
  • Atmega8>attiny13 - Potrzebne wsparcie z przeniesieniem kodu między uC.

    Witam. Potrzebuję pomocy z dostosowaniem kodu napisanego na atmegę8 na attiny13. Domyślam się że największym problemem będą tutaj timery, ale jestem w ich temacie puki co zielony, a potrzebuję koniecznie(i niestety pilnie) odbiornika IR który zmieści się i będzie działał na attiny13. Jak całość kodu działa rozumiem(jest świetnie opisana komentarzami)...

    Mikrokontrolery Początkujący   06 Mar 2015 20:40 Odpowiedzi: 7    Wyświetleń: 1215
  • [LPC2138] LPC2138: Zawieszanie programu po przerwaniu zewnętrznym na przycisku

    Witajcie!! Mam taki problem: ponizej załączam mój plik źródłowy main.c , programik jest prosty, zawiera dwa przerwania jedno od timera 0 (przerwanie na narastajace zbocze CAP0.0 pin P0.2) drugie przerwanie to przerwanie zewnetrzne od przycisku (przerwanie na narastajace zbocze). Do pinu P0.2 dołączam przebieg prostokątny o częstotliwości okolo 80Hz...

    Mikrokontrolery ARM   29 Paź 2008 12:47 Odpowiedzi: 10    Wyświetleń: 2552
  • Przerwania AVR: Konflikt zewnętrznego i timera przy zliczaniu obrotów i czasu

    Nie no tak myślałem że może przerwanie zewnętrzne i od timera na raz mogło by coś mieszać, ale raczej nie. Mam inny problem, bo układ to enkoder MHK40 i wyświetlacz siedmiosegmentowy, i program wygląda następująco: http://obrazki.elektroda.pl/8963329200_1... Czy da się coś zrobić aby to poprawnie działało?

    Mikrokontrolery Początkujący   14 Sty 2013 17:09 Odpowiedzi: 7    Wyświetleń: 1728
  • Integracja odbiornika RF 433MHz z modulem Tuya dla wielokanałowych kontrolerów z AliExpress

    Nie ma jeszcze sterownika RF Recv. Musimy to wkrótce dodać. Zasadniczo potrzebujemy sterownika dla pojedynczego GPIO, który będzie miał podłączony odbiornik RF i będzie mógł drukować otrzymane kody? A potem możemy odwzorować te kody na zdarzenia, takie jak IR? Hmmm, wygląda na to, że Tasmota używa do tego biblioteki RC-Switch: https://github.com/sui77/rc-switch/...

    Smart Home IoT   27 Kwi 2023 18:15 Odpowiedzi: 3    Wyświetleń: 1221
  • [LPC2148] [LPC2148][C] Dziwne zachowanie przerwań timera w kodzie C - pomoc w debugowaniu

    Witam mam dość dziwny problem z przerwaniami w tym procesorze. Jestem jeszcze zielony jeśli chodzi o przerwania i dlatego będę wdzięczny za każdą pomoc. otóż problem pojawia się z takim kodem: #include "lpc213x.h" #include "clcddisp.h" #include "armint.h" CLcdDisp cout;//utworzenie obiektu klasy do wyswietlania void IrqTimerHandler(void)...

    Mikrokontrolery ARM   15 Lis 2008 14:10 Odpowiedzi: 7    Wyświetleń: 1872
  • [FreeRTOS/STM32F7] HardFault po przerwaniu od timera

    Cześć, Platforma: STM32F769I-DISCO OS: FreeRTOS Środowisko: System Workbench for STM32 Próbuję zaimplementować PTP na podanej platformie, jednak od dłuższego czasu męczę się z regularnie pojawiającym się Hard Faultem. Jak zdołałem wybadać, błąd pojawia się prawdopodobnie, gdy upłynie czas jednego z timerów programowych, które są tworzone. Tworzonych...

    Mikrokontrolery   13 Paź 2018 15:39 Odpowiedzi: 10    Wyświetleń: 591
  • [BASCOM] Sterownik rolety - Krzaki na LCD po dodaniu TIMER2 do wyświetlania temperatury

    Ten program jest taki, że nie wiadomo od czego zacząć poprawiać. Najlepiej byłoby go napisać od nowa :D Niemniej poprawiłem to co ewidentnie musiało być poprawione. Tak na marginesie to nie wiem co za magik wymyślił te ponowne włączanie przerwań w obsłudze przerwania po to tylko by odebrać kod RC5 w przerwaniu. Ludzie to małpują i kłopoty gotowe. Sprawdź...

    Mikrokontrolery AVR   23 Sty 2017 12:09 Odpowiedzi: 4    Wyświetleń: 1689
  • Jak ustawić rejestr TIMSK dla przerwania przycisku na AtMega16 PC.3?

    Witam, W mikrokontrolerze AtMega16 mam do portu PC.3 podlaczony przycisk, chcialbym od niego odebrac przerwanie. Jednak nie wiem jak ustawić rejestr maski TIMSK? Mam taki przykaldowy programik: #include <avr/io.h> #include <avr/interrupt.h> #include <avr/signal.h> #define D1_ON PORTC &= 0x02 //0xBF #define D2_ON PORTC &= 0x03...

    Początkujący Elektronicy   25 Lut 2008 10:16 Odpowiedzi: 3    Wyświetleń: 1214
  • Jak ustawić Timer w Atmega8 dla obrotomierza LED w języku C?

    Witam. Podepnę się pod temat. Kolega "sulfur" mógłby podać link do tematu? Chciałbym zliczyć ilość obrotów na minutę ( max 250 ). Są 2 wyjścia. - Jedno, to zliczanie impulsów przez zewnętrzne przerwanie oraz obróbka w programie na rpm. - Drugie to zliczanie czasu między impulsami przez timer oraz obróbka w programie. Impulsy będą generowane przez zwieranie...

    Mikrokontrolery AVR   20 Gru 2010 17:01 Odpowiedzi: 21    Wyświetleń: 7277
  • Silnik krokowy - brak synchronizmu kroków, AVR, kod w C, definicje pinów

    1. W silniku krokowym normalnie sterowanym zawsze pracują dwa uzwojenia - teraz w Twoim kodzie z grubsza tak jest. Gorzej, że u Ciebie pracują chwilami trzy uzwojenia, w tym dwa naprzeciw sobie - bo najpierw załączasz nowe, a potem wyłączasz stare. 2. Zastanów się, cz zmienna kr może mieć równocześnie dwie różne wartości -Twój kod jest napisany tak,...

    Mikrokontrolery Początkujący   16 Lut 2017 08:42 Odpowiedzi: 4    Wyświetleń: 720
  • [HD44780] - Wpływ pinu R/W na szybkość działania w trybie 4-bitowym

    Już lepiej w każdym przerwaniu z timera sprawdzaj czy jest coś do wysłania na LCD (np. globalna flaga odświeżania ekranu) i cykaj po 1 znaku co 1ms. Dla małych LCD (4x20) uzyskasz odświeżanie ekranu co <100ms i będzie ok. Po wywołaniu np. LCD_Clear, w tym samym przerwaniu, odliczasz 4 kolejne wywołania i przechodzisz do przesyłania znaków. Proste,...

    Mikrokontrolery   01 Sie 2014 11:31 Odpowiedzi: 54    Wyświetleń: 7156
  • [c/AS6] Debugowanie kodu C dla AVR: problem z SPI i przerwaniami w symulatorze

    Witam. wcześniej w mikrokontrolerach avr korzystałem z assemblera (co pomogło mi dobrze poznać ukłądy "od środka"). Jednak nadszedł czas aby skorzystać z dobrodziejstw języka C (w tym języku pisałem wcześniej programy komputerowe). schody zaczęły się już na początku. po napisaniu kolejnych fragmentów kodu uruchamiałem symulator żeby zobaczyć czy poprawnie...

    Mikrokontrolery AVR   17 Maj 2013 17:10 Odpowiedzi: 14    Wyświetleń: 2874
  • [ATMega32] ATMega32: Obsługa I2C na przerwaniach w C - kiedy i dlaczego warto?

    Brakuje mi tylko jedenej rzeczy. W jaki sposób mam wykrywać, że nadeszły jakieś dane z I2C i ile ich nadeszło? Próbowałem tak, że po prostu w przerwaniu I2C przypisuję jakiejś zmiennej wartość TWI_bufPtr. I w przerwaniu timera sprawdzam, gdy ta zmienna (w moim przypadku received_len) jest różna od 0 to wywołuję funkcje TWI_Get_Data_From_Transceiver(rec_data,....

    Mikrokontrolery AVR   27 Sie 2012 19:25 Odpowiedzi: 21    Wyświetleń: 2940
  • Zastosowanie wskaźników na funkcje w programowaniu - przykłady dla początkujących

    Witam; jestem początkującym, więc proszę nie śmiejcie się z pytania. Ale ledwo co w miarę dobrze zrozumiałem pojęcie wskaźników i zaczełem je używać a teraz chciałbym zrozumieć wskaźniki na funkcję. Tyle tylko, że kompletnie nie mogę zrozumieć ich sensu, do czego służą, kiedy się przydają. Czy mógłby któryś kolega podać mi jakiś uproszczony przykład...

    Mikrokontrolery   20 Kwi 2013 07:15 Odpowiedzi: 13    Wyświetleń: 2112
  • [LPC2124] LPC2124 - przerwania IRQ timera nie działają poprawnie, co sprawdzić?

    Chciałbym na timerze0 zrealizować ciągły odczyt czterech niezależnych liczników w trybie obsługi przerwań za pomoca kanałow porównująch, MR0, MR1, MR2, MR3. Timer1 jest zajęty. Czasy to 100 msec, 60 sekund , 100 sekund oraz dowolny inny. tick dla timera0 wybrałem na 1 msec. Licznik działa poprawnie bez włączenia przerwań od timera0, liczy te 1000 Hz....

    Mikrokontrolery ARM   07 Sie 2008 21:44 Odpowiedzi: 23    Wyświetleń: 4049
  • [atmega8] Obsługa przerwań zewnętrznych. Jedno przerwanie następujące po drugim.

    Witam Otóż mam taki dylemat ... Mam taki prosty programik robiący mi za licznik modulo 8. Samo liczenie odbywa się w przerwaniu timer'a ale to nie jest kwestia którą chce poruszyć. Po wywołaniu zewnętrznego przerwania, nie da się go przez czas paru/parunastu sekund wywołać. Czego to może być wina ? (pomijając że moja). Czy przypadkiem nie powinno to...

    Mikrokontrolery AVR   01 Lis 2011 00:15 Odpowiedzi: 48    Wyświetleń: 6446
  • [ATmega8] Jak poprawnie podłączyć i zaprogramować system kontroli temp. na ATmega8 i LM35?

    Dzięki za informację. Udało mi się zrobić multipleksowanie w ten sposób: Timer 1 w tryb CTC, tryb porównania W main dodałem TCCR1B |= (1 << WGM12); // Ustawia timer1 w tryb CTC OCR1A = 10000; // Ustawia wartość pożądaną na 100Hz dla preskalera 1 TCCR1B |= (1 << CS10); // Ustawia timer z preskalerem Fcpu/1 //TCCR1B |= (1...

    Mikrokontrolery AVR   01 Sty 2010 18:10 Odpowiedzi: 10    Wyświetleń: 6517
  • ATmega16 ADC - wyświetlanie wyników z ADC0 i ADC1 co drugi cykl timer0

    Witam. Mam problem z przetwornikiem A/C w ATmega16. Chciałem aby wyniki były wyświetlane tylko w momencie kiedy wartość w timerze 0 zrówna się z wartością w OCR0 - ale tylko co drugi raz. Dlatego też dałem switch(cykl). Wyjście OC1A jest podpięte do wejścia timera 0. Wiem że to dziwnie, ale jest to część większego programu i tak musi być. Pomiar napięcia...

    Mikrokontrolery   03 Kwi 2008 17:44 Odpowiedzi: 7    Wyświetleń: 2666
  • PWM na OC1A (PB1) i zanegowany sygnał na PB0 – ATtiny, ustawienia rejestrów

    Umieść obsługę przycisków w przerwaniu timera. Pomogło. Tzn. nie do końca ponieważ nie mam możliwości uruchomienia sygnałów PWM jeżeli timer nie pracuje (czyli f wcześniej nie jest zadeklarowane na 10, 20, 30, 40 lub 50) - wtedy nie działa obsługa przycisku znajdująca się w przerwaniu. A jeśli ustawisz na stałe 10 lub 30? Ostatnio mam problemy z jasnowidzeniem...

    Mikrokontrolery AVR   05 Gru 2013 19:16 Odpowiedzi: 68    Wyświetleń: 7968
  • [attiny45][C/AVRgcc] Przerwanie z tact switcha - debouncing

    Witam! (Dobry wieczór?) Przeczesałem "cały internet" i znalazłem wiele rozwiązań mojego problemu, ale żadne spośród tych, które zastosowałem nie przyniosło oczekiwanych rezultatów. A problem - może się wydawać - jest banalny, gdyż chodzi o obsługę zewnętrznego przerwania ze zwykłego tact switcha. Mikrokontroler steruje za pomocą PWM jasnością diody....

    Mikrokontrolery AVR   27 Sty 2011 23:21 Odpowiedzi: 22    Wyświetleń: 3843
  • LPCXpresso LPC1769 - LPCXpresso LPC1769 - debugowanie

    Zaznaczyłem breakpoint na linijce: Dodano po 2 Czy w ogóle jest możliwe zdebugowanie programu (kodu źródłowego) z podłączonymi urządzeniami peryferynymi (np. przełączniki) do płytki LPCXpresso w taki sposób, aby móc obserwować reakcję programu w zależności od włąśne położenia przełączników (wchodzenie w warunki "if", wartości zmiennych zależących od...

    Mikrokontrolery ARM   10 Kwi 2015 16:50 Odpowiedzi: 17    Wyświetleń: 1638
  • Sprzętowy debouncing enkodera + kod

    Cześć, po analizie działania enkodera obrotowego (mechanicznego) i ilości problemów, jakie on dostarcza, postanowiłem skonstruować prosty układ elektroniczny, który "wygładzi" impulsy enkodera. Układ posiada dwie wersje. Obie są na przerzutnikach Schmitta. Pierwszy na pojedynczych układach TI SN74LVC1G17: https://obrazki.elektroda.pl/5101546100_...

    DIY Początkujący   19 Maj 2020 15:57 Odpowiedzi: 22    Wyświetleń: 3981
  • Atmega8 DS18B20 - brak odczytu temperatury na wyświetlaczu 7-segmentowym

    Witam od dobrych paru dni męczę się z wyświetleniem temperatury na wyświetlaczu 7-segmentowym. Sam wyświetlacz działa bez najmniejszych zarzutów :[syntax=c] #include<avr/io.h> #include<util/delay.h> #include<avr/interrupt.h> #define wyjA (1<<PB0) #define wyjB (1<<PB1) #define wyjC (1<<PB2) uint8_t tab[]={0x40,0xf9,0x24,0x30,0x19,0x12,0x0...

    Mikrokontrolery AVR   13 Mar 2016 23:29 Odpowiedzi: 10    Wyświetleń: 1191
  • [ATmega16][C] koncepcja sterowania kilkoma urządzeniami

    Witam. Kilka dni temu popełniłem takie "ustrojstwo". Zrobiłem to tak(jestem straszny marnotrawca miejsca i timerow): -robię zmienne dla każdego kanału (kanały 1-3) -dla każdego kanału timer(mówiłem że jestem marnotrawca) petla glowna: -instrukcja switch a w niej zal/wyl timerow oraz zal/wyl kanałów po uprzednim porównaniu wartości odczytanych i zadanych...

    Mikrokontrolery AVR   09 Lut 2011 01:36 Odpowiedzi: 4    Wyświetleń: 1083
  • Attiny13 - Jak napisać program do załączania przekaźnika na 7 godzin?

    Witam Potrzebuje program na mikrokontroler Attiny 13 który po wciśnięciu przycisku załączy przekaźnik na 7 godzin. Nie potrafie go sam napisać a jest mi bardzo potrzebny. Pozdrawiam Sprawdź ten program, nie sprawdzałem nie mam Attiny13. [syntax=basic4gl]'Timer 7godzin $regfile = "attiny13.dat" $crystal = 128000 'ustawić w Fuse Bitach 'wyłączyć bit...

    Programowanie Początkujący   25 Lut 2015 09:27 Odpowiedzi: 5    Wyświetleń: 1233
  • [Atmega16][C] Timer, ADC i regulacja natężenia światła.

    Napisałem program (po części korzystając z podobnego programu kolegi) zmieniający natężenie lampy bezdotykowo. Idea jest następująca: jeśli w pewnej odległości od czujnika (koło 10cm) umieścimy rękę ma załączyć się timer odliczający 2s, po których ma zmienić się natężenie światła. Gdy natężenie osiągnie maksymalny stopień ma wrócić do pierwszego. Sterowanie...

    Mikrokontrolery   19 Lip 2012 11:14 Odpowiedzi: 6    Wyświetleń: 1541
  • Wyswietlacz widmowy na atmega8 - wyswietla tylko 1/3 okregu

    Napisz to od nowa, z tablicami i bez żadnych switch ani if. Nie używaj delay. Po prostu zapisz w tablicy dane do wyświetlenia w kolejnych krokach. Dlaczego deklarujesz dane o małych zakresach jako int? W Twoim kodzie zaświecanie kolejnych diod nie następuje równocześnie. Po zaświeceniu ostatniej czekasz podobno 5us i zaczynasz gasić. Po co? Zgasić i...

    Mikrokontrolery AVR   03 Gru 2017 22:39 Odpowiedzi: 5    Wyświetleń: 621
  • Atmega 16: Timer2 blokuje Timer0 przy wyświetlaniu na 7-segmentowych wyświetlaczach

    Witam mam problem z uruchomieniem Timera 2, chcę go wykorzystać do wyświetlenia cyfr na 4 wyświetlaczach 7 segmentowych. Timer0 jako licznik czasu sprawuje się. Jest taki myk, że jeśli zrobię Timer2Init(); po Timer0Init(); to gra drugi timer a 0 stoi. [syntax=c] #include <avr/io.h> #include <avr/interrupt.h> #include <avr/pgmspace.h>...

    Mikrokontrolery AVR   30 Sie 2011 22:58 Odpowiedzi: 11    Wyświetleń: 1483
  • przerwania na ATmega32,dziwne zachowanie się nóżek PC2 i PC3

    Atmega 32, program obsługujący klawiaturę - 4 przyciski, odczytywane co 20 ms ( co któreś przerwanie timera 1), przyciski podpięte pod PC), PC0,PC1,PC2,PC3. jeżeli w programie wykorzystuję PC0 i PC1 to jest ok , ale jeśli w pętli obsługi przerwania odczytującego klawiaturę sprawdzam stan przycisków PC2 i PC3 to zgłoszenia przerwania są w każdym odczycie...

    Mikrokontrolery   05 Mar 2010 15:57 Odpowiedzi: 18    Wyświetleń: 3401
  • [ATTiny25/45/85][C] Modelarski regulator dwukierunkowy light

    Witam. Przymierzam się do budowy regulatora modelarskiego i mam problem ze zliczaniem długości trwania impulsu. Impuls trwa zazwyczaj od 1ms do 2ms w stanie wysokim (wyzwalany przerwaniem INT0) FCPU = 1 MHz (8MHz z preskalerem 8 (bit 7 ustawiony)) Licząc, że jeden impuls trwa dokładnie 1 us i przy timerze zliczającym do 10 (startuje od 246 - Timer0)...

    Mikrokontrolery AVR   28 Sie 2010 09:56 Odpowiedzi: 29    Wyświetleń: 5553
  • [Attiny2313] [Attiny2313][C] - Zmienna timera w regulacji napięcia triaka z RC5

    Napisałem prosty program do fazowej regulacji napięcia za pomocą triaka przy uzyciu pilota (rc5). #define F_CPU 8000000L #include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.h> #include "rc5.h" volatile int16_t czas=65379; SIGNAL (SIG_OVERFLOW1) { sei(); PORTB |= 1<<PB0; // ON _delay_us(9);...

    Mikrokontrolery AVR   17 Lut 2011 21:32 Odpowiedzi: 12    Wyświetleń: 2208
  • [A32][C]Timer0 zakłóca odczyt klawiatury PS2 w przerwaniu INT0

    Witam. Mam drobny problem i nie wiem jak go ugryźć. Atmega32 kwarc 16mhz W przerwaniu odczytuję klawiaturę ps2 i w między czasie robię wyświetlanie na matrycy w Timerze z preskalerem 64. I jeszcze mam uruchomione PWM. Jesli wyświetlanie zrobie w pętli głównej i wyłaczę timer to klawiatura czyta się prawidłowo ale jeśli uruchomię timer to wówczas czyta...

    Mikrokontrolery Początkujący   04 Cze 2012 13:08 Odpowiedzi: 2    Wyświetleń: 1023
  • Jak obliczyć liczbę wierszy w matrycy LED 128xN bez migotania?

    Niestety dalej nie działa :/ Dalej jest efekt echa. Pomrugują następne kolumny. Idzie to wyelyminować, ale trzeba idealnei zgrać timery ten od zmiany kolumn i ten od przesowania. W timerach jest tylko ustawiana jedna zmianna typu bit więc podprogram przerwania wykonuje się bardzo szybko. Elektronika jest ok bo jak podreguluje się te timery to niby idzie...

    Mikrokontrolery   17 Lis 2014 11:15 Odpowiedzi: 93    Wyświetleń: 15584
  • Program do sterowania serwami- prośba o dokończenie

    Wrzucam moją wersję programu do obsługi 4 serw. W ostatnim tygodniu zakupiłem swoje pierwsze dwa serwa, więc mogłem się pobawić problemem ich sterowania. Z powodu, że mam tylko dwa, jedynie dwa kanały są sterowane z przetworników ADC. Pozostałe są obsługiwane przez przerwania, ale nie ustawiane. Wartości dla serw wpisuje się w tablicy serwa_val[]. Doświadczalnie...

    Mikrokontrolery   27 Sie 2013 15:13 Odpowiedzi: 43    Wyświetleń: 7998
  • Jednocześnie działające pętle for - pytanie o możliwości zastosowania w programowaniu

    Tak samo jak można robić "równocześnie" wiele rzeczy na uC, z punktu widzenia człowieka - odczytywać czujniki, przyciski, wyświetlać dane na ekranie, tak samo można realizować dwie pętle for. W komputerach mamy to na co dzień, przydziałem mocy obliczeniowej do wszystkiego zajmuje się system operacyjny, już od czasów jednordzeniowych 486 nie ma problemu...

    Arduino   15 Paź 2022 17:04 Odpowiedzi: 8    Wyświetleń: 687
  • Sterownik oświetlenia z czujnikiem ultradźwiękowym plus RC5

    http://obrazki.elektroda.pl/9838687700_1... Trochę z obawą prezentuję kolejny już na elektrodzie sterownik oświetlenia, no bo ileż tego już tutaj było? A jednak nie znalazłem rozwiązania mnie zadowalającego, dlatego też powstał niżej prezentowany układ, powstał ponieważ klasyczne lampy z czujnikami ruchu mają pewną zasadniczą wadę:...

    DIY Konstrukcje   19 Mar 2017 12:07 Odpowiedzi: 12    Wyświetleń: 7527