atmega timer0

Znaleziono około 3082 wyników dla: atmega timer0
  • Atmega 128 - Timer0 nie działa poprawnie, jak skonfigurować przerwania?

    Po pierwsze nie podoba mi się zapis: Pinc.1 = not Pinc.1 Powinno być raczej: Portc.1 = Not Portc.1 Albo jak ktoś się bardzo uprze: Portc.1 = Not Pinc.1 Ale ogólnie do rejestru Pinx raczej nie zapisujemy. Ponadto... zegar 4MHz, dzielnik w timerze przez 256, timer0 (8 bitowy) ładowany wartością 250.... to daje podział przez 6*256 = 1536. To częstotliwość...

    Mikrokontrolery   24 Sie 2007 15:42 Odpowiedzi: 2    Wyświetleń: 1533
  • Atmega 8 Timer - Timer0 nie działa, kod nie wywołuje przerwań

    daj ISR (TIMER0_OVF_vect)

    Mikrokontrolery AVR   16 Mar 2016 15:39 Odpowiedzi: 12    Wyświetleń: 1401
  • REKLAMA
  • Nie znalazłeś odpowiedzi? Zadaj pytanie Sztucznej Inteligencji

    Czekaj (1min)...
  • [Bascom] Atmega 644pa - przerwanie Timer0 do sprawdzania sygnału GSM na LCD

    Pewnie że nie będzie działać, ustawiłeś Preskaler =256 a więc przy zegarze 16MHz przerwanie od Timer0 będzie pojawiać się z częstotliwością 62500 razy na sekundę. (16000000/256 = 62500). Zalałeś modem zapytaniami o CSQ i biedny nie ma czasu na odpowiedź.

    Mikrokontrolery AVR   16 Kwi 2012 18:16 Odpowiedzi: 4    Wyświetleń: 1307
  • ATmega1284p TIMER0_OVF_vect nie działa - diagnostyka przerwania

    Konfiguracja prescalera jest w TCCR0 B a nie TCCR0A.

    Mikrokontrolery AVR   03 Kwi 2020 11:48 Odpowiedzi: 2    Wyświetleń: 438
  • ATmega32 - Program nie wchodzi w obsługę przerwania TIMER0_COMP_vect

    Mnie wychodzi, że to nie jest tryb CTC tylko normalny. Po drugie na przerwanie compare trzeba zezwolić w rejestrze TIMSK - bit OCIE0 - masz < zamiast << stąd problem. Jak masz jakieś wątpliwości co do konfiguracji, to użyj symulatora AVR Studio. Można sobie w nim też ustawić tryb pracy i odczytać wartości rejestrów kontrolnych dla niego i potem...

    Mikrokontrolery AVR   30 Gru 2012 14:29 Odpowiedzi: 17    Wyświetleń: 2439
  • REKLAMA
  • Atmega 8/88P: delay_ms nie działa przy użyciu Timer0 z preskalerem

    Wysyłasz procesor pod przerwanie którego niema. To jak myślisz co biedny procesor ma robi jak tam niema nic. [syntax=c] ISR(TIMER0_COMP_vect) { }[/syntax] To musi być dodane. Resztę zrobi kompilator i przestanie się zawieszać.

    Mikrokontrolery AVR   09 Lut 2019 09:08 Odpowiedzi: 8    Wyświetleń: 525
  • [ATmega] [ATmega][Bascom] Czy PWM na Timer0 da taki sam przebieg jak na Timer1?

    Jak poprawnie skonfigurujesz to zadziała. Oczywiście sam licznik to nie wszystko, trzeba jeszcze ustawić port jako wyjście.

    Mikrokontrolery AVR   05 Maj 2010 18:29 Odpowiedzi: 3    Wyświetleń: 4328
  • REKLAMA
  • ATmega Bascom - Jak zliczać impulsy powyżej 256 na Timer0?

    Należy: - zadeklarować zmienną globalną np. LICZNIK i nadać jej wartość zera, - włączyć przerwania od przepełnienia Timer0, - w funkcji przerwania należy zwiększać wartość zmiennej LICZNIK o jeden Aby poznać liczbę impulsów wystarczy pomnożyć LICZNIK*256 i dodać do niego aktualną wartość rejestru licznika timera, czyli jak sądzę counter0 (nie znam BASCOM).

    Mikrokontrolery AVR   14 Gru 2014 14:58 Odpowiedzi: 2    Wyświetleń: 1284
  • Atmega 32 - Jak przekazać wartość sekund z przerwania timer0 do main?

    Wpisać magiczne "volatile" volatile int sekunda=0;

    Mikrokontrolery AVR   30 Maj 2009 20:48 Odpowiedzi: 2    Wyświetleń: 2728
  • ATMEGA8535 - Biblioteka timer0 nie działa funkcja "Timer0_RegisterCallbackF

    Ta linijka w sumie nie ma potrzeby istnieć. Według mnie wystarczy wywołać: Timer0_Init()' i potem Timer0_RegisterCallbackFunction( jakaś funkcja ) i powinno chodzić. Jednak nic się nie dzieje. Samo Timer0_Init wygląda tak: void Timer0_Init(void) { //mt char i; uint8_t i; // Initialize array of callback functions for (i=0; i<TIMER0_NUM_CALLBACKS;...

    Mikrokontrolery AVR   09 Wrz 2013 21:06 Odpowiedzi: 3    Wyświetleń: 2010
  • ATmega – jednoczesne użycie Timer0 do zliczania impulsów i Timer1 do PWM oraz czasu

    Która atmega? W atmega8 możesz użyć: Timer0 - odmierzanie czasu Timer1 - zliczanie impulsów Timer2 - PWM

    Mikrokontrolery   09 Maj 2008 09:05 Odpowiedzi: 5    Wyświetleń: 1783
  • ATMEGA 2560: Jak odtwarzać krótkie pliki WAV bez użycia avr-dos.bas?

    Coś mi się zdaje że przerwanie się nie wykonuje. W symulacji się wykonuje, ale co 65536 cykli. BASCOM coś pierdzieli. Może przejdz na Timer0 albo Timer2 , przynajmniej dla testu.

    Mikrokontrolery AVR   16 Lis 2016 22:22 Odpowiedzi: 328    Wyświetleń: 97119
  • REKLAMA
  • ATmega32 - Sterowanie wypełnieniem PWM, obroty wentylatora

    Dokładnie tak cyber90 Poniżej konfiguracja timer0 w trybie fast PWM dla Atmega 644p [syntax=C] void timer0_conf(void) { //konfiguracja timera0 - pin PWM PB3-OC0A TCCR0A = ( (1<<WGM00) | (1<<WGM01) | (1<<COM0A1)); // tryb fast PWM TCCR0B= (1<<CS02) | (1<<CS00); // preskaler =1024 dla 16MHz daje ok. 60 Hz DDRB=(1<<PORTB3);...

    Mikrokontrolery AVR   01 Maj 2014 15:59 Odpowiedzi: 12    Wyświetleń: 4317
  • [ATmega] ATmega, BASCOM, Borland – jak zmieniać parametry migania LED RC przez PC i EEPROM?

    Ok, jestem - nie miałem w ręku tego procesora więc musimy poczytać datasheet. Znajdź go i wklej tutaj link. Uwagi do schematu: 1. masy masz podłączone bo na schemacie nie :) 2. nie widzą filtrowania zasilania patrz tutaj: http://mikrokontrolery.blogspot.com/2011... 3. błędy filtrowania ADC akurat się przydadzą do liczb...

    Mikrokontrolery AVR   22 Cze 2011 21:44 Odpowiedzi: 161    Wyświetleń: 13602
  • prośba o sprawdzenie schematu Atmega + przekaźnik 12 VDC

    UPS meaculpa ;) faktycznie zliczasz 250x250... To powinno w ogólnym zarysie działać... Przy czym dokładne zbytnio to nie będzie:) A kontrolnie enable timer0 i enable interrupts masz?:>

    Mikrokontrolery   19 Kwi 2008 13:02 Odpowiedzi: 37    Wyświetleń: 10472
  • AVR ATmega16 - Zawieszanie programu przy przerwaniu Timer2, kwarc 8MHz

    W jakim środowisku działasz? Jesteś pewny nazwy tego wektora? Nie ma żadnych ostrzeżeń? Bo mnie się tu coś nie zgadza: [syntax=c]ISR(TIMER0_COMPA_vect){}[/synt... Tak chyba powinno być prawidłowo: [syntax=c]/* Timer/Counter0 Compare Match */ #define TIMER0_COMP_vect_num19 #define TIMER0_COMP_vect _VECTOR(19) #define SIG_OUTPUT_COMPARE0 _VECTOR(19)[/syntax]

    Mikrokontrolery AVR   26 Sty 2014 09:24 Odpowiedzi: 8    Wyświetleń: 1656
  • atmega 8535 - Program nie sygnalizuje przerwań. ISR(TIMER0_COMP_vect)

    Może dlatego, że Twój program po prostu się kończy w ułamku sekundy? Wiesz co robi procesor gdy skończy się funkcja main()? Albert

    Mikrokontrolery AVR   10 Wrz 2013 09:47 Odpowiedzi: 1    Wyświetleń: 1446
  • Atmega32 - Jak wyświetlić co ile jest podawany impuls

    Sprawdź te fuse bity czy na pewno atmega nie chodzi na wewnętrznym kwarcu. Po drugie w obsłudze przerwania nie powinno być żadnego wait, szczególnie takiego dugiego. Zmień "Load Timer0 = 250" na "Load Timer0, 250"

    Mikrokontrolery AVR   09 Maj 2014 15:23 Odpowiedzi: 12    Wyświetleń: 1044
  • Atmega328P - Timer0 w trybie CTC, brak aktywnego bitu WGM01 w AVR-Studio

    No fakt, czeski błąd. Kliknęło mi się na inny manual, chyba do atmega 325.

    Mikrokontrolery Początkujący   02 Kwi 2015 00:42 Odpowiedzi: 2    Wyświetleń: 1311
  • Atmega 16: Timer2 blokuje Timer0 przy wyświetlaniu na 7-segmentowych wyświetlaczach

    "=" a "|=" zastanów się

    Mikrokontrolery AVR   30 Sie 2011 22:58 Odpowiedzi: 11    Wyświetleń: 1483
  • Błąd w programie multipleksowania LED na atmega32 - przerwania nie działają

    // ================= PROCEDURA OBSŁUGI PRZERWANIA COMPARE MATCH ISR(TIMER0_OVF_vect) Błąd. To jest przerwanie od przepełnienia licznika. Przerwanie od porównania to: TIMER0_COMP_vect . W nagrodę Pomógł od mniej spostrzegawczych użytkowników i moderatorów :) A co do tranzystorów, to oczywiście lepsze by były PNP, ale z NPN też będzie działać (trochę...

    Mikrokontrolery Początkujący   01 Cze 2015 18:16 Odpowiedzi: 22    Wyświetleń: 1497
  • [Atmega128] [Atmega128][C] - Timer0 blokuje _delay_ms przy aktywnym przerwaniu TIMER0_OVF_vect

    Witam Serdecznie Na początek kod: [syntax=c]#define F_CPU 4000000UL #include <avr/io.h> #include <avr/iom128.h> #include <util/delay.h> #include <avr/interrupt.h> volatile uint8_t i=0; int main(void) { DDRA = 0xFF; ASSR &= ~(1<<AS0); TCCR0 |= (1<<CS01) | (1<<CS02); TIMSK |= (1<<TOIE0); TCNT0 = 131;...

    Mikrokontrolery AVR   06 Wrz 2012 03:28 Odpowiedzi: 15    Wyświetleń: 1779
  • Bascom Atmega - Program z wykorzystaniem timera do odmierzenia czasu. Pytanie.

    W tym kodzie jest błąd: Load Timer0 = 250 jest niepoprawnie zapisane bascom nie krzyczy błędem ale ta składnia nie działa. Powinno być Load Timer0, 250 Ta funkcja ładuje do timera wartość 256-wartość, czyli w twoim wypadku 6.

    Mikrokontrolery Początkujący   03 Maj 2014 20:09 Odpowiedzi: 4    Wyświetleń: 1248
  • [atmega] [ATmega][Bascom] Jak odliczać czas bez zatrzymywania programu?

    Nie no... po co myśleć. Po co czytać ds'a każdy timer0 jest 16bitowy...

    Mikrokontrolery   12 Wrz 2008 14:02 Odpowiedzi: 20    Wyświetleń: 2595
  • [ATmega88PA] [ATmega88PA][C] - Timer0 w trybie CTC blokuje pętlę główną, LED na PC0 nie działa

    Witam. Tak na szybko analizując kod: Dla Timer0 włączasz dwa przerwania od porównania: http://obrazki.elektroda.pl/6165324400_1...

    Mikrokontrolery   05 Paź 2014 16:21 Odpowiedzi: 6    Wyświetleń: 1146
  • Zawieszanie ATmega 32 przy użyciu przerwań zewnętrznych i TIMER0

    mam maly problem.. zdarza sie ze moj układ oparty na ATmega 32 jakby sie zawieszał... wykorzystuje przerwanie zewnetrzne... // External Interrupt(s) initialization // INT0: On // INT0 Mode: Rising Edge // INT1: Off // INT2: Off GICR|=0x40; MCUCR=0x03; MCUCSR=0x00; GIFR=0x40; // Timer(s)/Counter(s) Interrupt(s) initialization TIMSK=0x01; a w programie...

    Mikrokontrolery   10 Lut 2007 00:12 Odpowiedzi: 4    Wyświetleń: 1302
  • atmega8, c - Przerwanie TIMER0_OVF_vect wykonuje się tylko raz, dlaczego?

    Musisz też załadować nową wartość do licznika timera. Jak już pisałem, bez fragmentu kodu odpowiadającego za pobranie czasu przerwania dziaął poprawnie, więc nie w tym problem.

    Mikrokontrolery Początkujący   09 Mar 2015 10:28 Odpowiedzi: 9    Wyświetleń: 1218
  • atmega8 - Nieprawidłowe działanie klawiszy po edycji kodu ISR TIMER0_OVF_vect

    Dzień dobry, Mam problem z klawiszami. Zedytowałem do własnych potrzeb fragment kodu znaleziony na http://mikrokontrolery.blogspot.com/ [syntax=cpp]ISR(TIMER0_OVF_vect) { sei(); static uint8_t stan_przyciskow_najstarszy , stan_przyciskow_stary , stan_przyciskow_nowy; stan_przyciskow_najstarszy = stan_przyciskow_stary; stan_przyciskow_stary = stan_przyciskow_nowy;...

    Mikrokontrolery AVR   30 Lis 2013 01:37 Odpowiedzi: 2    Wyświetleń: 1119
  • Programowanie Arduino Mega (Atmega 2560) w C/C++ przez Eclipse - jak zacząć?

    Znaczy w sumie... W Arduino IDE możesz wpisać normalny kod C olewając biblioteki. Lekkie problemy są tylko z projektami wieloplikowymi i trzeba uważać na to, że Arduino wykorzystuje np. Timer0 i jeśli chcemy z niego skorzystać to trzeba pierwsze Arduino od niego "odsprzęgnąć".

    Projektowanie Co i Gdzie Kupić ?   12 Lip 2013 12:20 Odpowiedzi: 25    Wyświetleń: 5901
  • Czy blokować przerwania INT0, INT1, Timer0, Timer1 przy SPI na ATMega?

    A mówią Ci coś takie pojęcia jak: atomowość zmiennej, semafory, kolejka ..... Jeżeli nie to tu szukałbym przyczyny. Pamiętaj że przerwania, to tak jakby wielowontkowy system.

    Mikrokontrolery   25 Sie 2008 21:24 Odpowiedzi: 2    Wyświetleń: 1128
  • Atmega32A - Moduł L298 - Sterowanie silnikiem DC - PWM

    Może spróbuj sterowania w inny sposób - za pomocą przerwania INT2 (wywoływanego przyciskiem) uruchamiaj i zatrzymuj licznik TC0 (parametry PWM są ustawione u Ciebie poprawnie) tzn ustawiaj bity TCCR0|=(1<<CS00)|(1<<CS01) kiedy chcesz uruchomić licznik i zeruj je jeżeli chcesz zatrzymać. Samo ustawianie wartości wypełnienia czyli rejestr...

    Mikrokontrolery AVR   02 Sty 2018 23:56 Odpowiedzi: 22    Wyświetleń: 1539
  • [AVR][C] - sonar, ultradźwięki - jaki czujnik najlepszy

    snow - jak mogę nie trafiać z częstotliwością skoro : 1. do generowania przebiegu wykorzystuję Timer0 2. Atmega taktowana jest 8MHz 3. stosuję podział przez 100 czyli timer0 tyka 80kH i w procedurze obsługi timer0 zmieniam wciąż na przeciwne stany nadajnika - dzięki czemu wychodzi mi piękna równa częstotliwość 40kHz - to akurat mam sprawdzone na 1000000%...

    Mikrokontrolery   19 Lut 2012 19:34 Odpowiedzi: 57    Wyświetleń: 14608
  • atmega128 - 4 x 7seg.- zle wyswietla-nie realizuje funkcji

    ISR (TIMER0_COMP_vect) { //cykliczne przełączanie anod w każdym przerwaniu anod każdego wyświetlacza (wartość negowana aby krążyło 0) ANODY_PORT = (ANODY_PORT & 0xF0); //gdy zapalony wyswietlacz 1, podaj stan zmiennej cy1 itd if(licznik==1) LED_DATA = pgm_read_byte(&cyfry Jakbym nie patrzył nie widzę tutaj przełączania anod. Zapis: ANODY_PORT...

    Mikrokontrolery Początkujący   07 Kwi 2014 13:09 Odpowiedzi: 11    Wyświetleń: 1086
  • Używanie dwóch timerów w BASCOM (atmega2560) - pobieranie danych z tablicy i sterowanie PORTB

    1. W jakim celu konfigurujesz liczniki, wpisujesz im wartości początkowe, a potem wywołujesz ich zatrzymanie przez STOP TIMER0/TIMER2 skoro nigdzie indziej ich ponownie nie uruchamiasz? 2. Jakim cudem kompilator nie protestuje gdy w pętli głównej umieszczasz samo ON TIMER0/TIMER2 nie podając trzeciego słowa kluczowego GOTO/GOSUB i ostatniego ich parametru?...

    Mikrokontrolery AVR   07 Kwi 2023 07:26 Odpowiedzi: 17    Wyświetleń: 741
  • [ATmega128L] [ATmega128L][AVR-GCC] Błąd w obsłudze TIMER0 i TIMER2, możliwy błąd w dokumentacji?

    Za takie i tyle błędów to powinno się nazwać ich po imieniu :). Do czasu aż wprowadzą poprawki poniżej zamieszczam pdf z czerwca 2010.

    Mikrokontrolery AVR   26 Sty 2011 11:06 Odpowiedzi: 13    Wyświetleń: 2562
  • ATMEGA 8 [C] - Zakłócenia INT0 na PD2 przy obsłudze TIMER0 PWM

    Witam, Przechodząc szybko do sedna tematu. Program pisany do 10 kanałowego sterownika oświetlenia DC. Timer0 służy do generowania programowego PWM. INT0 oraz TIMER1 CTC ma obsługiwać transmisje danych(tymczasowo kod usunąłem myśląc że to on jest problemem). Problemem jest to że przy kodzie jak poniżej mam na PD2 prostokąt o wypełnieniu ok 20% Co uniemożliwia...

    Mikrokontrolery Początkujący   26 Gru 2013 09:43 Odpowiedzi: 2    Wyświetleń: 1041
  • [ATmega] ATmega – dekodowanie sygnału RC5 za pomocą ICP i Timer1, jak zaimplementować?

    Przerwanie wolę mieć wolne. Poza tym przez zastosowanie ICP zajmuje się wyłącznie Timer1 a nie Timer0 i Int)...robiw

    Mikrokontrolery AVR   03 Gru 2009 20:08 Odpowiedzi: 6    Wyświetleń: 4046
  • [ATmega 644p][C] Analizator - problem z przerwaniem

    Dzięki wielkie- ale to nie do mnie pisałeś. O Atomic_Block dowiedziałem się w czwartek- sprawdziłem- od czwartku jest to pierwsza wiadomość na ten temat. A wracając do tematu Fir3man- wymyśliłem taki schemat programu: #include <stdint.h> #include <avr/io.h> #include <stdlib.h> #include <avr/interrupt.h> volatile uint8_t dol;...

    Mikrokontrolery AVR   01 Wrz 2010 14:56 Odpowiedzi: 14    Wyświetleń: 3464
  • [C] Atmega32 Timer0 CTC – dioda nie zapala się w przerwaniu, kod nie działa

    Istnieje jeszcze jedna możliwość. Jakiego używasz AVR-GCC? Możesz mieć jakąś starszą wersję z błędem, który właśnie objawia się poprzez niepoprawne działanie przerwań COMPARE. Wystarczyłby jeden błąd w adresie wektora TIMER0_COMP_vect i "po zawodach". ps. Nie rzekomo działającego, tylko działającego. Niestety nie mogę ci strumieniowo przesłać video...

    Mikrokontrolery   07 Mar 2011 09:24 Odpowiedzi: 8    Wyświetleń: 1997
  • 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
  • [atmega328p] [atmega328p][c] Timer0 - dioda nie miga, ustawienia 8MHz, kod nie działa

    Bity CS00 i CS02 od preskalera są w rejestrze TCCR0B, a nie TCCR0A. Masz preskaler na 0 więc timer nie zlicza.

    Mikrokontrolery AVR   11 Sie 2014 23:33 Odpowiedzi: 7    Wyświetleń: 3843
  • [ATmega][Bascom] Proszę o podpowiedź co robię źle, polecenie incr.

    marcinek.p - to gotowiec dla ciebie, nie mam jak go przetestować ale jestem pewien że zadziała jak trzeba. Masz tu przerwanie, miganie led i zliczanie migniec z incr Mozna to wszystko wkleic do przerwania ale dobra zasada nakazuje w przerwaniach umieszczać jak najmniej kodu. [syntax=basic4gl] $regfile = "m8def.dat" $crystal = 1000000 $hwstack = 32 $swstack...

    Mikrokontrolery AVR   08 Lut 2012 12:14 Odpowiedzi: 11    Wyświetleń: 2217
  • Atmega128(atmel) - licznik 1-9999. Wyświetlacz 7-segmentowy.

    TCCR0=0x07; // port G jako wejście Że co? int main(void) { char digit } Funkcja main obejmuje nawiasem kilka funkcji przerwań. To się w ogóle kompiluje? Pół biedy że funkcja main. Pętla while(1) to obejmuje! Po za tym to SIGNAL pozamieniaj na ISR. ISR jest nowsze i przez to zalecane (choć w sumie kodu wynikowego pewnie to nie zmieni). I przy okazji...

    Mikrokontrolery   31 Sty 2010 01:42 Odpowiedzi: 6    Wyświetleń: 3924
  • Atmega168A-PU: Brak działania przerwań, mruganie diodą nieudane.

    Widzicie gdzieś problem w kodzie? Zobacz rozwinięcie asseblerowe czy na pewno istnieje obsługa:[syntax=c]ISR(TIMER0_OVF_vect)[/... Kompilator AVT-GCC nie sygnalizuje próby stworzenia obsługi wektora, który nie istnieje a o bład łatwo, bo w nazwach wektorów jest "mały" nieład. Możesz tez sprawdzić debugerem. Jeśli przerwanie nie istnieje nie da...

    Mikrokontrolery Początkujący   03 Lip 2018 14:16 Odpowiedzi: 10    Wyświetleń: 612
  • Atmega128: Jak mierzyć częstotliwość impulsów na T1 i wyświetlać na LCD?

    ...przy 10000HZ na LCD wyświetla 0666... No to prawie jak liczba szatana :) if(licznik==4) { T1=TCNT1; utoa( T1, bufor1, 10 ); lcd_gotoxy(3,0); lcd_puts(bufor1); TCNT1=0; } Widzę, że dodałeś pozycjonowanie kursora, żeby wynik za każdym razem był wyświetlany w tym samym miejscu wyświetlacza. Trzeba by jeszcze...

    Mikrokontrolery AVR   07 Lip 2010 16:54 Odpowiedzi: 16    Wyświetleń: 3268
  • [AtMega16] [AtMega16][C] - Implementacja multitaskingu dla odczytu ds18b20 i sterowania GPIO

    Powrócę jeszcze do tematu. Timery programowe to objaśnił Mirekk36 w swojej książce oraz artykułach i wideo poradnikach, bardzo dobrze je się stosuje. Jest to proste, wystarczy ustawić jakiś timer w tryb CTC i wywoływać przerwanie co jakiś zamierzony czas (stosuje około 10ms). F_CPU/Prescaler/100 Zaokrągloną wartość wpisujemy do rejestru OCRx. W przerwaniu...

    Mikrokontrolery AVR   13 Kwi 2013 20:38 Odpowiedzi: 24    Wyświetleń: 2646
  • [AVR] Nieaktywny Auto Trigger ADC na ATmega168 przy użyciu Timer0 w trybie CTC

    Masz skasować flagę timera OCF0A [syntax=c]TIFR0 |= (1<<OCF0A); [/syntax] Możesz też włączyć przerwanie od Timera i zostawić pustą obsługę przerwania: [syntax=c] ISR (TIMER0_COMPA_vect, ISR_NAKED) { asm volatile("reti"); } [/syntax] Co spowoduje że cała obsługa przerwania sprowadzi się do RETI

    Mikrokontrolery AVR   16 Gru 2020 20:52 Odpowiedzi: 19    Wyświetleń: 501
  • ATmega8515: Przerwania Timer0 nie działają w Bascom AVR - co poprawić w kodzie?

    Po Config Timer0 wpisz dodatkowo TCCR0 = 4 Config Timer0 = Timer , Prescale = 256 Tccr0 = 4 Tylko musisz coś zrobić z START TIMER0 i STOP TIMER0 bo one przywrócą wartość po CONFIGu i program dalej nie będzie działał. Najprościej będzie usunąć te instrukcje. dodano 20 Sie 2008 08:05 Mail z opisem błędu poszedł już do MCS Electronics. Zbaczymy jaka będzie...

    Mikrokontrolery   20 Sie 2008 08:29 Odpowiedzi: 14    Wyświetleń: 1300
  • Jak napisać program w AVR GCC do dekodowania RC5 na ATmega16?

    Witam Temat dekodowania RC5 był już poruszany http://www.elektroda.pl/rtvforum/atmega-... , bardzo fajnie opisane są kody w różnych standardach (m.in. RC5) na stronce http://www.xs4all.nl/~sbp/knowledge/ir/r... i jeszcze na http://www.ustr.net/infrared/index.shtml Sam sobie też...

    Mikrokontrolery   26 Cze 2006 22:34 Odpowiedzi: 4    Wyświetleń: 9276
  • [C] Atmega16 Timer0 - Przerwanie co 1s opóźnia się o 1,5s na minutę, dlaczego?

    W takim razie będę musiał gdzieś wcisnąć kwarc na płytce :( chyba, ze inna atmega będzie bardziej dokładna.. dziękuje wszystkim za pomoc :)

    Mikrokontrolery AVR   12 Wrz 2012 18:12 Odpowiedzi: 11    Wyświetleń: 1212
  • [Atmega32][C] Zliczanie kliknięć przycisku w timerze, eliminacja drgań przycisku

    [syntax=c] #define Button (1<<PB0) #define Button_PORT PORTB #define Button_PIN PINB #define Button_DDR DDRB volatile _Bool Key_Pressed = 0; // flaga wciśniętego przycisku [/syntax] [syntax=c] Button_DDR &= ~(Button); //port - wejście Button_PORT |= (Button); //włącz pull up [/syntax] [syntax=c] ISR(TIMER0_OVF_vect)//przerwanie wywoływane...

    Mikrokontrolery AVR   22 Lis 2018 21:11 Odpowiedzi: 7    Wyświetleń: 1080
  • [Atmega32] Timer0 nie wywołuje przerwania SIG_OVERFLOW0 w skanerze 3D

    ps. w manualu wyczytałem, że TIM0_OVF_vect jest tylko dla atiny. Dla atmegi32 jest TIMER0_OVF_vect pomyliłem się, sorki. i jest błąd bo volatile uint8_t overflow; uint8_t to 0-255, nie wiem jak to wygląda po skompilowaniu. if (overflow < 512) { PORTC = 1 << 1; } else { PORTC = 1 << 2; } if (overflow >...

    Mikrokontrolery AVR   15 Maj 2009 14:59 Odpowiedzi: 13    Wyświetleń: 3966
  • [atmega8] [atmega8][c] - Jak obsłużyć czujnik Mobot przez I2C i wyświetlić wynik w mm?

    Problem leży w sposobie działania biblioteki TWI_Master i miejsca, skąd jej pośrednio używasz. TIMER0_OVF_vect, jak i każde inne przerwanie, uruchamia się z czasowo wyłączonymi przerwaniami, dlatego ani sonar_request, ani sonar_gets_distance nie zadziała z tego miejsca. Polecenia zostają zakolejkowane, i może tylko TWI::START zostaje wykonany. Możesz:...

    Mikrokontrolery AVR   14 Sie 2014 17:16 Odpowiedzi: 5    Wyświetleń: 1194
  • RTC w Atmega128: Timer0 nie działa z asynchronicznym generatorem 32,768kHz

    Witam, chciałem uruchomic asynchroniczny generator 32,768kHz w procku Atmega 128. Z dokumentacji wynika ze ma on taktowac timer0 po ustawieniu bitu AS0 w rejestrze ASSR. Owszem po ustawieniu tego bitu oscylator uruchamia sie (widac sinus 32k na oscyloskiepie) jednak timera0 nie taktuje. Po przerzuceniu taktowania na Xclk wszysto jest OK. Czy ktoś miał...

    Mikrokontrolery   10 Cze 2004 16:17 Odpowiedzi: 2    Wyświetleń: 1104
  • Przykładowy program w C na ATmega32 do multipleksowania 4 wyświetlaczy 7-segmentowych

    Przykładowy program który wyświetla jakąś liczbę: [syntax=c]volatile uint16_t disp=0; uint8_t buff[]={0b11000000, 0b11111001, 0b10100100, 0b10110000, 0b10011001, 0b10010010, 0b10000010, 0b11111000, 0b10000000, 0b10010000, 0b10001000, 0b10000011, 0b11000110, 0b10100001, 0b10000110, 0b10001110}; ISR(TIMER0_OVF_vect) { static uint8_t dig=0; static uint16_t...

    Mikrokontrolery AVR   23 Sty 2018 11:12 Odpowiedzi: 12    Wyświetleń: 1347
  • Ubuntu 8.10 dziwny problem z timerazmi pod ATMEGA16

    Zakładam że kompilujesz w takim GCC jak ja. Spróbuj tego: #include <avr/io.h> //#include <stdio.h> niepotrzebne, bez tego też działa #include <avr/interrupt.h> //#include <avr/signal.h> tej biblioteki się nie stosuje - patrz gcc-libc ISR(TIMER0_OVF_vect) //po co tam miałeś INT0_vect? { PORTD ^= 0xFF; //będziemy mieli...

    Mikrokontrolery AVR   28 Sty 2009 10:31 Odpowiedzi: 3    Wyświetleń: 1194
  • Konflikt RC5 i Servo na ATmega w Bascom - jak to rozwiązać?

    O kurcza. Nie wiedziałem że BASCOM umożliwia coś takiego. Ale jednak domyślne ustawienie jest na Timer0 i o tym mówi HELP. A czy servo drga też na BASCOMOowej obsłudze tego wszystkiego? nekmil : Też bym nie poznał że jesteś Czechem ;)

    Mikrokontrolery AVR   02 Mar 2010 16:38 Odpowiedzi: 21    Wyświetleń: 4117
  • [atmega16] [atmega16][avr-gcc] PWM na Timer0 nie działa na PB3, działa na Timer1A PD5

    Witam ! Na moim procku (Atmega 16) Twój program działa. Diodka podłączona do PD5 mruga.

    Mikrokontrolery AVR   22 Gru 2008 20:50 Odpowiedzi: 4    Wyświetleń: 4756
  • Jak zintegrować ADC z TIMER2 w ATmega32 do próbkowania 8kHz w AVR Studio 4?

    Przykład dla dwóch kanałów Przed wpisaniem tego kodu musisz odpowiednio ustawić Bity w rejestrach ADMUX i ADCSRA Jeśli chcesz mieć próbkowanie co określony czas to musisz odpowiednio ustawić rejestry zegara. Pisałem trochę z pamięci mogłem gdzieś zgubić klamrę przecinek lub średnik [syntax=c] //SET_BIT(ADCSRA, ADSC); - moje makro ustawiające bit w rejestrze,...

    Mikrokontrolery AVR   13 Lis 2011 15:02 Odpowiedzi: 21    Wyświetleń: 3390
  • [ATtiny44] Jak zaimplementować termostat do wytrawiarki z ATtiny44 i czujnikiem LM35?

    OK, no to następne podejście z nadmiarowym kodem testowym odliczającym w kółko na ATmega8515 zamiast ADC - wyświetlanie bez zarzutu. Co do tego dziwnie wyświetlanego zera, to może masz zamienione a z g, b z f itp. W tej wersji łatwiej zapanować nad częstotliwością odświeżania segmentów - zbyt duża skutkuje podświetlaniem sąsiednich cyfr, zbyt mała -...

    Mikrokontrolery AVR   16 Sie 2011 19:59 Odpowiedzi: 17    Wyświetleń: 2946
  • Timer Atmega - Atmega32 timer jako licznik impulsów BASCOM

    Witam mam prosty program. Timer zlicza naciśnięcia przycisku. Problem polega na tym że po jednokrotnym naciśnięciu wartość zwiększa się o jakąś ilość (nie zawsze o 1). Jak temu zaradzić? np. żeby zmiana stanu licznika była możliwa tylko co określony odcinek czasu. [syntax=basic4gl]Config Pinb.0 = Input Set Portb.0 Config Timer0 = Counter , Edge = Falling...

    Mikrokontrolery Początkujący   18 Lut 2013 20:07 Odpowiedzi: 3    Wyświetleń: 4368
  • [Atmega32]Jak skonfigurować zegarki wewnetrzne (Timer1 i Timer0)?

    ok, więc może być na konkretnym przykładzie: Mam płytkę AND-TECH.PL EvB 4.3 (mikroprocesor to: ATMEGA 32, 16 PU). Więc jak mogę sobie skonfigurować Timer1 i Timer0 na tym mikroprocesorze przy rezonatorze 16Mh by odmierzał mi czas (zegarek godziny:minuty:sekundy). Jak mogę dobrać preskaler i jak wygląda tok obliczeń. Informacje te są mi potrzebne na...

    Mikrokontrolery AVR   26 Cze 2011 20:40 Odpowiedzi: 13    Wyświetleń: 1845
  • Ustawienie timerów na ATmega128 - Zegar wewnętrzny 8MHz, Timer1 1s, Timer0 4ms, konfiguracja kodu

    Nie nie rób się kaczką albo sie prześpij ahahahahahaha :D OCIE1B zamieniasz na OCIE1A OCR1B zamieniasz na OCR1A zamieniasz wektor TIMER1_COMPB_vect na TIMER1_COMPA_vect kasujesz wszędzie to TCNT1=0 bo nie ma sensu Dla Timer0, w przerwaniu, pod linijką "dot ++ ; " dopisz TCNT0 = 6; To też można na palcach policzyć: 8MHz to jest na sekundę a sekunda ma...

    Mikrokontrolery AVR   12 Lis 2022 02:13 Odpowiedzi: 6    Wyświetleń: 405
  • Atmega16L Timer0 i Watchdog - wpływ soft UART na reset po 950ms

    Jeśli piszesz w WinAVR i otworzysz plik w asemblerze to zobaczysz, że każde nie używane przerwanie prowadzi do resetu. Nieużywane tzn. nie posiada funkcji obsługi przerwania. Przerwanie takie od np. przepełnienia timera może nastąpić jeśli zostanie odblokowane, ale jak mówisz w tym przypadku to nie to. Możesz po prostu wyłączyć watchdoga i upewnić się...

    Mikrokontrolery AVR   18 Cze 2010 17:01 Odpowiedzi: 3    Wyświetleń: 891
  • ATMega16 – zegar nixie nie dekoduje sygnału DCF z odbiornika NE2004A/U4221B

    Osobiście do swojego zegara dodałem moduł WiFi na ESP8266 w postaci płytki NodeMCU. ESP pobiera aktualny czas i datę z serwera NTP a następnie wysyła w postaci DCF do zegara. Nie trzeba wykonywać żadnych przeróbek na PCB. Koszt płytki na portalu aukcyjnym to ok 20zł. Wykorzystałem gotowy kod Hiroki Mori zamieszczony pod adresem: https://github.com/yamori813/ntp2dcf77.....

    Mikrokontrolery   07 Kwi 2024 19:28 Odpowiedzi: 546    Wyświetleń: 173325
  • Jak przyśpieszyć (zmodyfikować) program w na ATMega32

    OCR0=0x20; /// podobno mozna zjechac do 0 i otrzymac fck/2 Zjechać może i można, ale chyba tylko do sprzętowego przełączania pinu. bo obsługa przerwania w 1 cyklu jest niemożliwa. void timer0_comp_isr(void) { PORTC ^= BIT(0); } Wrzuć co kompilator wyrzuca do assemblera do kompilacji. W sumie na obsługe jest 32 takty razem...

    Mikrokontrolery AVR   02 Lut 2010 08:00 Odpowiedzi: 6    Wyświetleń: 2009
  • ATMEGA328P - HC-sr04: Timer nie zmienia wartości przy zmianie odległości

    Coś takiego znalazłem. Co prawda na Atiny ale można przerobić. [syntax=c]// // Talking to ultrasonic sensor HC-SR04 with an ATtiny84, and // sending distance data using serial communications. // // electronut.in // #include <avr/io.h> #include <string.h> #include <util/delay.h> #include <avr/interrupt.h> #define F_CPU 8000000...

    Mikrokontrolery AVR   10 Kwi 2017 04:56 Odpowiedzi: 3    Wyświetleń: 933
  • Zegarek na Atmega 8 z LCD 4x20 - konfiguracja i kod w Bascom

    Więc zostają 2 możliwości, albo program coś mieszał w odliczaniu czasu(może przerywałem timer0 timerem1 ale to powinno powodować opóźnienia!)albo atmega zła :P Mniejsza, teraz zrobiłem go na pcfie, wystarczy program dopieścić :P

    Mikrokontrolery AVR   11 Sty 2010 18:13 Odpowiedzi: 11    Wyświetleń: 7483
  • AVR Asembler: Timer0 Overflow w ATmega128 - Jak uzyskać 1s odstęp?

    Za pomocą bitów CSn2 CSn1 CSn0 możesz ustalić podział częstotliwości kwarcu przez 1,8,64,256,1024. Aby uzyskać dokłądnie sekundę musisz ustawić podział na 8 lub 64. Wtedy do timera musisz wpisać odpowiednio 65536-62500 lub 65536-15625 (do rejestrów TCNTnH starsze 8 bitów i TCNTnL młodsze osiem bitów). Przepełnienie jest sygnalizowane flagą ToVn którą...

    Mikrokontrolery   12 Lis 2005 16:11 Odpowiedzi: 15    Wyświetleń: 3805
  • [Atmega16][C][AVR Studio] Problem z przerwaniem od licznika

    Albo tryb CTC i przerwania od niego albo normalny tryb pracy i przerwanie od przepełnienia. W porównaniu do ostatniej wersji zmieniłem ISR (TIMER0_OVF_vect) na ISR (TIMER0_COMP_vect) i działa. Po prostu w zestawieniu nazw wektorów przerwań z których korzystałem nie było TIMER0_COMP_vect i stąd te zamieszanie. Dzięki wielkie :) Problem rozwiązany

    Mikrokontrolery AVR   08 Lis 2010 19:59 Odpowiedzi: 5    Wyświetleń: 1795
  • [Atmega16A] Problemy z elektroniką przy sterowaniu silnikiem CN12-R-XC

    Dzięki za odpowiedzi. Zasilacz mam 7.5V 4A od jakiejś drukarki lub skanera. Napisałem prosty program do testów i wyniki mnie zadziwiły. Program najpierw wysyła na wyświetlacz napis "reset" który świeci się przez 1 sek, a potem program wykonywany jest dalej. Zamiast silnika zamocowałem żaróweczkę, aby pobór prądu był mniejszy. Jeżeli zamieszczę:[syntax=cpp]PORTD...

    Robotyka Modelarstwo i CNC   05 Wrz 2011 13:19 Odpowiedzi: 7    Wyświetleń: 2918
  • Jak napisać program w C dla ATMega 128 z odliczaniem czasu na wyświetlaczu?

    Jako ze nie przepadam za pisaniem na maile, to odpowiem tutaj... Musisz skonfigurowac odpowiedni timer i przy przerwaniu, jakie generuje int czas=0; int timer0=131; SIGNAL (SIG_OVERFLOW0) { czas++; if (czas==5000) BUUM(); //jezeli czas osiagnal 5000ms, to wywolaj funkcje BUUM(); TCNT0 = timer0; // zaladowanie do...

    Mikrokontrolery   05 Gru 2005 17:01 Odpowiedzi: 5    Wyświetleń: 3134
  • I2C na ATmega644P: Kod Master nie działa poprawnie, co może być przyczyną?

    witam, napisałem dwa kody na obsługę i2c master(atmega644p): /* * main.c * * Created on: 16 lut 2018 * Author: Mirosław Kardaś * web: www.atnel.pl */ #include <avr/io.h> #include <avr/interrupt.h> #include <string.h> #include <util/delay.h> #include <avr/wdt.h> #include <avr/pgmspace.h> #include <avr/eeprom.h>...

    Mikrokontrolery AVR   25 Sie 2024 22:00 Odpowiedzi: 5    Wyświetleń: 297
  • Atmega328 timer0 nie odlicza czasu/nie generuje przerwania (tryb normalny)

    Po pierwsze, timer liczy od 0 do 255, ale to oznacza 256 impulsów pomiędzy przepełnieniami, czyli powinno być 256, a nie 255 * 128us. Po drugie zaokrągliłeś wynik z 32.64 do 32 przed dzieleniem, co w efekcie dało niedokładny wynik ilości przepełnień. W rzeczywistości częstotliwość przerwań można obliczyć dużo prościej: ( 8000000 / 1024 ) / 256 = ok. 30,5176.....

    Mikrokontrolery AVR   11 Kwi 2019 11:28 Odpowiedzi: 9    Wyświetleń: 831
  • Pobieranie plików z serwera przez SIM868 do Optiboot na Atmega328PB

    Czemu służą te komplikacje z tymi __init*? Przecież jeżeli chcesz używać przerwań, to po prostu na początek nie usuwaj tablicy wektorów i całej reszty z której rezygnujesz przy opcji -nostartfiles. Wtedy kod będzie wyglądał tak:[syntax=c] #include <avr/io.h> #include <avr/interrupt.h> ISR(TIMER0_OVF_vect) { PORTB ^= (1 << PB0); } int...

    Mikrokontrolery AVR   02 Sie 2022 12:28 Odpowiedzi: 20    Wyświetleń: 1440
  • [ATmega16A][C][TIMER0 PWM] - LED w "inverting mode" i "non-invert

    jedyne co mi przychodzi do głowy to jakaś "szpilka" w momencie konfliktu, gdy OCR0=0 I tak jest! Przy wartości 0 w rejestrze OCR0 odpowiedzialnym za wypełnienie sygnału PWM na wyjściu pojawia się szpilka -już nie pamiętam ile trwa w stosunku do wartości 1 w tymże rejestrze (ale dużo krócej-chyba około 1/5 czasu dla wartości 1 w OCR0). Problem jest...

    Mikrokontrolery   26 Cze 2013 20:45 Odpowiedzi: 5    Wyświetleń: 1779
  • [ATMEGA 8] Jak napisać program do tablicy LED z ATMEGA8 i BASCOM?

    Proszę bardzo: Config Timer0 = Timer , Prescale = 256 On Timer0 Odmierz_8ms Enable Interrupts Enable Timer0 Counter0 = 6 .... Odmierz_8ms: Counter0 = counter0 +6 .... instrukcje return

    Mikrokontrolery AVR   02 Lis 2010 07:54 Odpowiedzi: 106    Wyświetleń: 35850
  • [Atmega168][C] Odliczanie dokładnie jednej sekundy

    Najprościej to chyba tak: [syntax=c] #include <avr/io.h> #include <avr/interrupt.h> #define TIMERSTART 6 volatile uint8_t FLAGA_50 = 0; volatile uint8_t FLAGA_1000 = 0; // funkcja obslugi przerwania TIMER0_OVF 8MHz / 64 * 250 wychodzi co 2ms // dla innego taktowania nalezy ustawic inny preskaler i/lub inne liczniki stawiania flag ISR(TIMER0_OVF_vect)...

    Mikrokontrolery AVR   16 Maj 2012 10:20 Odpowiedzi: 2    Wyświetleń: 1345
  • ATMega128 - Świecenie 2 diodami na raz ze zmienną częstotliwością

    Kod piszę "na sucho", więc lepiej sprawdź czy działa.[syntax=c] #include <avr/interrupts.h> void timer0_init(void){ TCCR0 = _BV(CS02); //Mode 0, normal operation, prescaler 64 TIMSK |= _BV(TOIE0); //Timer/Counter0 Overflow Interrupt Enable } volatile unsigned long millis=0; volatile unsigned int okresy_migania_ledow[4] = {100,200,300,400}; ISR(TIMER0_OVF_vect)...

    Mikrokontrolery AVR   18 Wrz 2014 22:17 Odpowiedzi: 6    Wyświetleń: 1020
  • Jak zrealizować barierę optyczną IR na ATtiny13 do sterowania bramą?

    Kiedyś tez to przerabiałem chociaż temat mój umarł ale robiłem to tak ze wysyłałem 150 impulsów i w przerwaniu od int0 - do niego byl podpięty odbiornik36kHz, zliczałem impulsy jeśli było ich ponad 140 to było "ok" chociaż na piloty tv było to w miarę odporne. Drugi pomysł mój był taki ze po prostu zliczałem mignięcia diodą ired + fototranzystor i tez...

    Mikrokontrolery AVR   08 Wrz 2009 12:03 Odpowiedzi: 3    Wyświetleń: 3717
  • Atmega16L - Dwa sygnały PWM i odczyt z użyciem ADC

    Przykładowy program realizujący przedstawiony przeze mnie sposób. [syntax=c]#include <avr/io.h> #include <util/delay.h> #include <avr/interrupt.h> #include "LCD.h" volatile unsigned int adcon = 0; ISR(TIMER0_OVF_vect) { static char st; if((st++)%2) { PORTB |= 1<<0; //pb0=0 PORTB &= ~(1<<1); //pb1=1 adcon = ADC; //odczyt...

    Mikrokontrolery AVR   12 Maj 2013 22:14 Odpowiedzi: 12    Wyświetleń: 2640
  • [atmega8] [atmega8][C] - Timer0 odlicza za szybko przy 8MHz, jak ustawić preskaler?

    Nie chcę grać roli lokalnego guru (zwłaszcza korzystającego z cudzych stron WWW), ale widzę następujące błędy: F_CPU nie defniuje się w kodzie -> http://mikrokontrolery.blogspot.com/2011... Twoje zmienne używane w przerwaniu powinny być volatile -> http://mikrokontrolery.blogspot.com/2011... Nie...

    Mikrokontrolery Początkujący   22 Lip 2013 10:32 Odpowiedzi: 8    Wyświetleń: 1248
  • [ATMEGA168][AVRGCC] Przerwania optymalizacja szybkości

    ... Nigdy nie dołączałem modułów w assemblerze do moich projekcików i nie wiem czy dobrze zrobiłem. No niestety , nie popisałeś się :-P Zobacz na adres , do którego jest kopiowany R24 6d2:8b bd out0x2b, r24; 43 r24 został skopiowany do GPIOR2(0x2B) , a nie do PORTD(0x0B) i zonk :| Nie chce mi sie tłumaczyć dlaczego tak się stało , więc dam Ci gotowca...

    Mikrokontrolery AVR   28 Wrz 2008 20:04 Odpowiedzi: 10    Wyświetleń: 1803
  • Konfiguracja przerwań TIMER0 na ATmega16

    Mam problem z uruchomieniem przerwania, kombinowałem wiele razy z różnymi ustawieniami jednak nie obserwuję zmian na porcie PD7, PWM na porcie PB3 działa (przebiegi obserwowane na oscyloskopie). Mikroprocesor to ATmega 16 taktowana z kwarcu 16 MHz. Może ktoś zerknie świeżym okiem i doradzi. #define F_CPU 16000000 #include #include #include #include...

    Mikrokontrolery AVR   21 Kwi 2024 20:25 Odpowiedzi: 9    Wyświetleń: 450
  • Jak napisać program termometru dwu punktowego w Bascom dla ATmega8?

    Witam, piszę program termometru dwu punktowego i proszę o małą pomoc. W Bascom jestem słaby na razie mam to: $regfile = "m8def.dat" $crystal = 4000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portd.2 , Db5 = Portd.3 , Db6 = Portd.4 , Db7 = Portd.6 , E = Portd.1 , Rs = Portd.0 'piny lcd-atmega Config Timer0 = Timer , Prescale = 1024...

    Mikrokontrolery   10 Maj 2008 09:22 Odpowiedzi: 32    Wyświetleń: 4745
  • Atmega8 - Tym razem; przerwanie sprzętowe - nie działa

    Wyrzuć te delay'e. Zmienną licznik jak radzili koledzy zmień na volatile. Zmień sei(); na SREG |= (1<<7); Jeśli będzie działać, to zapytam jakiej wersji avr studio używasz? [syntax=cpp] #include <avr/io.h> #include <avr/interrupt.h> volatile uint8_t Count = 0; ISR(TIMER0_OVF_vect) { Count++; TCNT0 = 0; } int main(void) { DDRB = 0xFF;...

    Mikrokontrolery Początkujący   03 Kwi 2013 20:44 Odpowiedzi: 30    Wyświetleń: 3780
  • [C] [avr] Debouncing - jak poprawić działanie programu z Timer0?

    Tu: http://www.elektroda.pl/rtvforum/viewtop... Freddie Chopin podał jak zmienić pierwotną wersję programu- gdzie były przyciski aktywne jedynką na aktywne zerem. Ja mam aktywne zerem- to jest ATmega. Wejście z podciąganiem.

    Mikrokontrolery AVR   21 Wrz 2010 20:23 Odpowiedzi: 16    Wyświetleń: 2614
  • [AVR] [C] - Jak obsłużyć przerwania INT0 i timer0 w atMega8?

    Zasilanie bateryjne 3,6V - 5200mAh. Urządzenie będzie pracować 24h/dobe. Otwarcie drzwi nastepuje kilkdziesiąt/set razy dziennie. Elementy zuzywające energię ograniczone do minimum czyli atmega8 i w czasie wysterowania buzzera jeden tranzystor. Buzzer ma pobór ok 60mA. Nie wiem czy coś jeszcze potrzeba? Dodano po 1 ATmega 8A-PU :)

    Mikrokontrolery AVR   22 Lis 2013 00:28 Odpowiedzi: 60    Wyświetleń: 6186
  • Atmega2560 - brak zmiennego światła LED przy konfiguracji PWM

    Witam, Po długiej przerwie udało mi się wrócić do mikrokontrolerów :-D Teraz bawię się atmega 2560. Na początku miganie diodą i przyciski poszły bez problemu, problem pojawił się przy konfiguracji sprzętowej PWM w trybie fast. [syntax=c] #include <avr/io.h> #include <util/delay.h> #include <avr/interrupt.h> int main(void) { DDRA |=...

    Mikrokontrolery AVR   20 Sty 2020 06:38 Odpowiedzi: 2    Wyświetleń: 402
  • [ATmega16, C] ATmega16 Timer0 - jak uzyskać dokładny pomiar co 2µs?

    1. T0 w M16 ma tryb CTC. Skorzystaj z niego. 2. Jak już prawie nic nie robisz w przerwaniu to może warto uruchomić je w trybie NAKED i samemu zadbać o jego obsługę i powrót. Skróci to takie przerwanie.

    Mikrokontrolery   16 Gru 2013 20:12 Odpowiedzi: 7    Wyświetleń: 1416
  • [ATmega32] Jak działa funkcja millis() w Arduino i konfiguracja Timer2 w ATmega32?

    Tak, przy czym jeśli ISR jest wywoływany co 1ms, to wystarczy po prostu inkrementować zmienną timer0_milis, bez tych cudów, które masz.

    Mikrokontrolery AVR   16 Paź 2012 10:38 Odpowiedzi: 7    Wyświetleń: 2349
  • AtMega 324/644/1284 - reset mikrokontrolera po odblokowaniu przerwań

    Hmm... Dziwne, Ustawiając Timer0 sprawdzałem tylko dla Timera0.. a Ty korzystasz z Timera1.. no dobra, najważniejsze, że działa. Dzięki Wam :)

    Mikrokontrolery AVR   11 Lis 2015 17:52 Odpowiedzi: 6    Wyświetleń: 1278
  • Który rejestr odpowiada za Timer0 w mikrokontrolerze Atmega16?

    mam takie pytanko w atmega 16 niewiem w jaki sposób włanczać i wyłanczać timer niewiem któr rejestr dego dokonuje , a może one chodzą cały czas bo jeśli ustawie timer na to żeby zliczał (timer0) impulsy zegara sys. i włanczał przerwanie gdy zgodzie się jego wartość z rejestrem OCR0 ale od kiedy on ma się włączyć ktury bit to ustawia ? nobo leci sobie...

    Mikrokontrolery   22 Sty 2006 20:08 Odpowiedzi: 17    Wyświetleń: 4221
  • Timer0 AVR 16MHz: Przerwanie zamiast 1us trwa 2-4x dłużej, jak to naprawić?

    Tak, tylko, że: 1. Ten problem poruszasz dopiero teraz. I to dowodzi tylko, że atmega to nie ideał procesora. A dobieranie procesora do zastosowania to jedna z podstawowych umiejętności konstruktora 2. Dalej nikt nie wie co to za atmega. 3. Inkrementowanie zmiennej co 128us to jakby trochę rzadziej niż co 1us Albert

    Mikrokontrolery AVR   02 Lut 2012 14:16 Odpowiedzi: 9    Wyświetleń: 1813
  • Jak ograniczyć zliczanie impulsów enkodera w Bascom na Atmega?

    nie no to jasne ... jak coś komuś nie wychodzi to na bank wina Bascoma ... tylko ze jak ma liczyć impulsy to ma być skonfigurowany jako licznik COUNTER a nie jako czasomierz TIMER czyli nie CONFIG TIMER0 = TIMER , PRESCALE= 1 | 8 | 64 | 256 | 1024 tylko CONFIG TIMER0 = COUNTER , EDGE= RISING | FALLING

    Mikrokontrolery AVR   08 Mar 2014 20:32 Odpowiedzi: 11    Wyświetleń: 2232
  • Jak uruchomić RTC w trybie POWER DOWN na ATMEGA128A?

    Power-down Mode ... This sleep mode basically halts all generated clocks, allowing operation of asynchronous modules only. Tabelka: Active Clock Domains and Wake Up Sources in the Different Sleep Modes pokazuje, że w Power Down Timer0 nie może wybudzić mikrokontrolera. Innymi słowy timer0 w trybie asynchronicznym liczyć będzie, ale nie może zbudzić...

    Mikrokontrolery AVR   05 Lip 2012 14:51 Odpowiedzi: 8    Wyświetleń: 1843
  • Atmega162 Timer2 działa szybciej niż Timer0 - dlaczego?

    Polecam "Mikrokontrolery AVR ATmega w praktyce" Rafała Baranowskiego.Własnie uczę się z niej.Autor odwołuje sie też do danych ze strony Atmela dot. konkretnych typów kontrolerów(wiele zmian!).Książka bazuje na ATmega16 .Pozdrawiam.

    Mikrokontrolery   19 Mar 2008 22:12 Odpowiedzi: 10    Wyświetleń: 1749
  • Jak skonfigurować przerwania w ATmega8 w języku C z użyciem GCC?

    Bity w MCUCR określają na co będzie reagować przerwanie zewnętrzne... Zmiana stanu, opadające lub narastające zbocze więc jest to jak najbardziej potrzebne... SIGNAL (INT0_vect) - obsługa zewnętrznego przerwania INT0... SIGNAL (TIMER0_OVF_vect) - obsługa przerwania od przepełnienia timer0... Co do portu... Jak na mój gust powinno być PORTC = !PORTC;...

    Mikrokontrolery   13 Lis 2010 16:13 Odpowiedzi: 48    Wyświetleń: 19450
  • [ATmega32] ATmega32 Timer0 CTC - przerwanie nie działa poprawnie, licznik się zeruje

    A co na to symulacja programu? Taki program wgraj: .nolist .include "m32def.inc" .list ; ## START ########################################... .cseg ;=======================================... ;= WEKTORY PRZERWAŃ = ;=======================================... .org 0x0000 rjmp reset_vector ; po...

    Mikrokontrolery AVR   13 Sie 2008 21:39 Odpowiedzi: 4    Wyświetleń: 2547
  • [C] Atmega16 - Timer0 spieszy o 3 sekundy po 5 minutach, prescaler 1024, 8MHz

    Czyli rozumiem że napisany kod jest w porządku? W takim razie zaopatrzę się w kwarc zewnętrzny. Od razu moje dodatkowe pytanie, jak zapewnić aby po odcięciu zasilania atmega poprawnie liczyła sekundy? Czy doliczymy się np. do 10 a następnie wyłączę zasilanie na 10s to chce żeby wskazało 20s. Czy takie coś jest w ogóle możliwe?

    Mikrokontrolery   31 Maj 2011 11:28 Odpowiedzi: 9    Wyświetleń: 2960