atmega timer1 przerwanie

Znaleziono około 950 wyników dla: atmega timer1 przerwanie
  • [bascom][atmega] Timer1 - jest przerwanie od pełnego cyklu pomimo jego skrócenia

    Co to za przerwanie? Od porównania? Przepełnienia? Czy może od przechwycenia - co sugerują komentarze. Nie używasz innych przerwań? Załącz cały program.

    Mikrokontrolery AVR   18 Kwi 2018 12:40 Odpowiedzi: 5    Wyświetleń: 699
  • REKLAMA
  • Atmega Bascom - Przerwanie - nie mozna skrócić timera

    Uruchomić timer w trybie CTC. Tryb CTC [syntax=vbnet]CONFIG TIMER1 = ..... CLEAR TIMER = 1[/syntax]

    Mikrokontrolery Początkujący   01 Kwi 2016 21:04 Odpowiedzi: 6    Wyświetleń: 1089
  • Nie znalazłeś odpowiedzi? Zadaj pytanie Sztucznej Inteligencji

    Czekaj (1min)...
  • [C] Atmega32: Przerwania licznika, diody co sekundę, preskaler 256, TIMER1_OVF_vect

    Chodzi o to, że po pierwszym przerwaniu TCNT1 będzie miał wartość 0, czyli zliczy potem 65536 impulsów. Zaś do generowania, jak Ty chcesz, przerwań co określony odcinek czasu służy tryb CTC. Wtedy w rejestrze OCR ustawiasz ilość impulsów, które chcesz zliczyć, i wygenerować odpowiednie przerwanie.

    Mikrokontrolery Początkujący   27 Gru 2012 16:24 Odpowiedzi: 17    Wyświetleń: 1740
  • REKLAMA
  • Atmega 8 - Timer1, przerwania, potknięcia sygnału co 7ms, kod w Bascom

    Witam, Atmega 8, Timer1. Prosty generator: przerwanie od timera1 ze skróconym cyklem, pętla główna pusta, w przerwaniu zmieniam stan portu. Niby proste... Oto kod: http://obrazki.elektroda.pl/8467182600_1... Są to regularne skrócenia cyklu z 1.085ms na 0.6355ms. Proszę o wyjaśnienie co to jest i jak sie tego pozbyć?

    Mikrokontrolery AVR   31 Mar 2016 12:57 Odpowiedzi: 5    Wyświetleń: 906
  • 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ń: 396
  • ATmega128 - Czy krótki sygnał INT1 wywoła przerwanie przy aktywnym TIMER1?

    Tak, o ile procesor nie będzie w uśpieniu. Jeśli będzie to wymagana jest funkcjonalność asynchronicznego wybudzania, czego ATMega nie ma dla zboczy, wyłącznie dla poziomu. Trzeba też pamiętać, że zmiany krótsze niż okres zegara mogą być przez MCU niezauważone. Oczywiście dla kwartcu 14 MHz i impulsu 20us nie jest to problemem.

    Mikrokontrolery AVR   05 Maj 2016 14:38 Odpowiedzi: 4    Wyświetleń: 1488
  • REKLAMA
  • ATmega168: Przerwanie TIMER1_COMPA_vect nie działa, co sprawdzić?

    Nie istotne co program robi, wazne ze przerwanie mi nie dziala:) Program ma 400 lini i nie ma sensu go wklejac. ale można daodać jako załącznik jeśli się nie myle, ... mniejsza z tym, kolega poszuka wróżki :)

    Mikrokontrolery   21 Lis 2007 23:22 Odpowiedzi: 10    Wyświetleń: 1857
  • Maksymalna częstotliwość kwarca wewnętrznego Atmega8 i konfiguracja Timer1

    Jaka jest maksymalna częstotliwość pracy kwarca wewnętrznego Atmegi8? ATmega nie ma w środku kwarc u , tylko oscylator RC, to tak gwoli ścisłości. Mam ustawione 4Mhz i kiedy ustawiam prescaler w timerze 16bitowym na 64 (TCCR1B|=1<<CS11|1<<CS10;) tak aby przerwanie spowodowane przepełniniem timera było wywoływane mniejwięcej co 1s 4000000/64/2^16...

    Mikrokontrolery   26 Wrz 2007 12:49 Odpowiedzi: 2    Wyświetleń: 2404
  • Atmega 32 - Czy muszę blokować przerwania Timer1 podczas nadawania IR?

    Cześć Robie nadajnik i odbiornik podczerwieni w jednym korzystam z przerwania od przechwytywania czy na czas nadania muszę zablokować przerwanie wywołane zboczem opadającym lub narastającym (Timer1).Czy może nie muszę?????????

    Mikrokontrolery Początkujący   14 Kwi 2015 15:52 Odpowiedzi: 1    Wyświetleń: 648
  • [AVR] Dlaczego przerwanie TIMER1_COMPA_vect nie działa w VMLab?

    2 serwa można zrobić całkowicie sprzętowo TCCR1A = _BV(WGM11); /* Fast PWM, ICR1 is top */ TCCR1B = _BV(WGM13) | _BV(WGM12) /* Fast PWM, ICR1 is top */ | _BV(CS11) /* div 8 clock prescaler */ ; OCR1A = 3000; // to jest chyba dla zegara 16 Mhz - to by odpowiadało impulsom 1.5 ms OCR1B = 3000; ICR1 = clockCyclesPerMicrosecond()*(...

    Mikrokontrolery AVR   08 Lis 2010 23:03 Odpowiedzi: 8    Wyświetleń: 4023
  • Timer TCCR3 atmega128A - diody LED nie działają w trybie PWM

    DDRD|=(_BV(PB5) | _BV(PB6) | _BV(PB7)); DDRD|=(_BV(PE3) | _BV(PE4) | _BV(PE5)); Widzisz tu subtelną różnicę...? Działające wstawki dla pwm na Tim1 i Tim2: [syntax=c]void Timer0Init(void) { DDRB|=(1<<4); TCCR0 |= (1<<WGM01)|(1<<WGM00)|(1<... OCR0=0; } void Timer2Init(void) {...

    Mikrokontrolery   31 Sty 2014 21:18 Odpowiedzi: 1    Wyświetleń: 921
  • REKLAMA
  • 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
  • [Atmega32a] Atmega32a USART nie działa, mimo poprawnej konfiguracji na Atmega88

    ... Dlaczego tak się dzieje? :/ Dlatego, że przerwanie ISR(TIMER1_COMPA_vect) jest wywoływane co 128 taktów zegara, a wykonanie procedury przerwania timera1 zajmuje ~200 taktów. Po zakończeniu wykonywania przerwania od timera, gdy uC wraca do programu głównego, ma już ustawioną flagę od OCR1 i ewentualnie flagę RXC. Ponieważ timer "stoi wyżej" w hierarchii...

    Mikrokontrolery AVR   20 Wrz 2012 21:22 Odpowiedzi: 8    Wyświetleń: 1461
  • HC-SR04 - Czujnik odległości wskazuje 0, kod AVR, TIMER1_CAPT_vect

    Witam, mam problem z czujnikiem odległości HC-SR04, cały czas na wyświetlaczu mam wartość 0. kod jest następujący: Dodano po 21 Dobra chyba wiem po co zmiana zbocza na końcu przerwania, po prostu czekamy na zobocze opadające aby ponownie wejść w przerwanie i odczytać wyniki, program nadal nie działa ale już wiem jak powinien działać chociaż : )

    Mikrokontrolery AVR   16 Maj 2016 20:53 Odpowiedzi: 2    Wyświetleń: 873
  • [ATmega1284P] Timer1 przerwanie co BPM - błędne ustawienia preskalera?

    WGM01, CS02 oraz CS00 nie są dla Timera 1. Więc to co masz, to wcale nie jest tryb CTC. Preskaler akurat wyjątkowo się zgadza. Szacuję, że zamiast 200 milisekund kod w ifie wykonuje się coś pomiędzy 600 a 700 ms.

    Mikrokontrolery AVR   18 Kwi 2012 20:04 Odpowiedzi: 1    Wyświetleń: 968
  • Atmega644pa - Timer1 nie odmierza równo 1 sekundy w trybie CTC

    Pamiętaj że sama transmisja też swoje trwa :) a poza tym nie pokazałeś funkcji printf (może ona bawi się w _delay_ms() ?) Zauważ również że przerwanie występuje niezależnie od transmisji, może dochodzić do takiej sytuacji ze raz przerwanie zmienić Ci wartość zmiennej tuż przed transmisją a raz tuż po niej i to spowoduje Twoje opóźnienia. Spróbuj blokować...

    Mikrokontrolery AVR   18 Wrz 2013 14:49 Odpowiedzi: 15    Wyświetleń: 2949
  • ATMEGA 2560 czy można zmienić priorytety danych przerwań

    No właśnie timer1 ma przerwania co 1ms. Używam panelu dotykowego nextion, korzystając z gotowej biblioteki arduino przesyłam dane po RS z prędkością 9600bodów. Nadawanie zostaje przerwane przez timer1, a przy dokończeniu nadawania cała transmisja nie zawsze sie zgadza, dlatego zależałoby mi żeby zmienić priorytet przerwania USART2 na wyższy niż timer1

    Mikrokontrolery Początkujący   08 Sie 2017 20:29 Odpowiedzi: 15    Wyświetleń: 2007
  • Atmega328P Timer1 z przerwaniem Input Capture - ustawienie licznika

    Mam ustawiony timer w Input Capture Ustawienie timera z przepełnieniem licznika IC_Timers 40000 (po prostu potrzebowałem równy czas też dla odmierzania zegarka i innych bajerów do odmierzania czasu ) przerwanie co 20ms. https://obrazki.elektroda.pl/6280175200_... Od lewej okres, czas stanu wysokiego, aktualny timer ICR1, poprzedni timer...

    Arduino   06 Maj 2020 19:32 Odpowiedzi: 2    Wyświetleń: 786
  • [Atmega128] Przykładowy kod w C dla Atmega128 obsługujący 2xRS232, konfiguracja AVR Studio

    Wektorów przerwań szuka sie nie tyle w dokumentacji winavr co w dokumentacji kontrolera, który się programuje. Nazwa wektora to nazwa przerwania ze spacjami zastąpionymi podkreślnikiem i dodanym przyrostkiem _vect np przerwanie od przepełnienia timera 1 w atmega 32: w dokumetnacji sekcja Interrupts (str. 42) 10 $012 TIMER1 OVF Timer/Counter1 Overflow...

    Mikrokontrolery AVR   24 Sie 2008 12:52 Odpowiedzi: 13    Wyświetleń: 1982
  • AVR - Generowanie PWM na Atmega 328p z timerami 8 i 16 bitowymi - problem z sygnałem

    Tojmak987123 pomyliłeś pojęcia: Szerokości wypełnienia nie mierzy się w Hz tylko w procentach lub jednostkach czasu (np. mikrosekundach). Twój program wywołuje przerwanie Timera0 co (256-194)*64 cykli zegara, Timer1 jest ustawiany 5 razy rzadziej czyli co 19840 cykli zegara tylko tyle możesz nim odmierzyć (a nawet trochę mniej ze względu na czas ustawiania)....

    Mikrokontrolery AVR   20 Sty 2017 18:31 Odpowiedzi: 10    Wyświetleń: 1218
  • [ATmega8][C]Płynne odświeżanie temperatury na lcd

    W kodzie stoi jak byk .... ISR(TIMER1_COMPB_vect) ani widu, ani słychu :-P Dokładnie, a ja już w innym podobnym twoim temacie podpowiadałem ci , że robisz niestety kardynalne błędy podczas konfiguracji Timer1. Bo w książce miałeś timer0 i było tak: [syntax=c]TIMSK |= (1<<OCIE0);[/syntax] Więc gdybyś przeniósł to na Timer2 - to byłoby mniej boleśnie...

    Mikrokontrolery AVR   04 Lip 2011 17:35 Odpowiedzi: 31    Wyświetleń: 4773
  • Atmega 8, Sterowanie fazowe żarówki - migotanie przy Timer1 w BASCOM

    Jak sinus ma przejść pełen to przerwanie wyłączaj i podawaj statyczny stan ciągle na triaka.

    Mikrokontrolery   26 Mar 2010 07:23 Odpowiedzi: 7    Wyświetleń: 3223
  • [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

    Przerwanie: ISR(TIMER1_COMPA_vect){ gatherData(); displayResult(); showBar(); } musi być poza funkcją main.

    Mikrokontrolery AVR   01 Wrz 2010 14:56 Odpowiedzi: 14    Wyświetleń: 3452
  • Jak zaprogramować Atmega16 do obsługi 4 wyświetlaczy 7-segmentowych?

    Przecież twój kod się nawet nie powinien kompilować, więc jest faktycznie zły :) Jak sobie wyobrażasz zagnieżdżenie ISR? Mieszasz nowe makra (ISR) ze starymi (SIGNAL). Poza tym ATMega nie ma czegoś takiego jak priorytety przerwań. Przerwanie TIMER1_COMPA_vect nie zostanie przerwane, chyba, że jawnie odblokujesz wszystkie przerwania co zapewne doprowadzi...

    Mikrokontrolery AVR   30 Sty 2012 12:21 Odpowiedzi: 12    Wyświetleń: 7502
  • [Atmega] Atmega: Timer1 CTC przycina się przy zmianie OCR1A z ADC, silnik staje

    Moze inne przerwanie blokuje przerwanie timera, sam z siebie nie ma prawa sie zablokowac ;) Sprawdzasz przebiegi na oscyloskopie, czy tylko zgadujesz ze sie przycina ?

    Mikrokontrolery AVR   11 Paź 2009 18:53 Odpowiedzi: 3    Wyświetleń: 5260
  • 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ń: 1119
  • ATMega 32 nie wykrywa szybkiego impulsu z czujnika szczelinowego przy 120m/s

    Użyj przerwania od przechwytywania kiedy uc wykryje zmianę stanu na pinie ICP1 z niskiego na wysoki to jak będziesz miał odblokowane to przerwanie oraz będziesz miał odpowiednią reakcję(w tym przypadku to ma być zbocze narastające bo z 0 do 1) to wywoła si się przerwanie i w tym przerwaniu możesz zobaczyć ile timer1 zliczy ci impulsów

    Mikrokontrolery AVR   07 Paź 2017 14:55 Odpowiedzi: 32    Wyświetleń: 3714
  • Cykliczne załączanie PWM w ATTiny2313A/ATMega328P

    Czy istnieje możliwość dokonania modyfikacji przerwania w taki sposób, aby otrzymać możliwość regulacji pulsacji sygnału? Aktualnie sygnał generowany jest przez dwa przerwania o stałym wypełnieniu: [syntax=c] #include <avr/io.h> #include <avr/portpins.h> #include <avr/interrupt.h> #include <util/delay.h> #include "PWM.h" int...

    Mikrokontrolery AVR   20 Gru 2019 22:11 Odpowiedzi: 19    Wyświetleń: 837
  • Atmega2560: Niepoprawne wartości z Timer1 w przerwaniu INT0 - jak to naprawić?

    Nie wiem czy wiesz co będzie wynikiem jeśli weźmiemy dwie zmienne szesnastobitowe bez znaku i odejmiemy większą od mniejszej? Wynik nadal będzie dodatni jednak pomniejszony o poprzednią wartość tej mniejszej zmiennej. Tak więc proponuję rozważyć taki temat: Timerx w momencie pierwszego odczytu w INTx ma 65530. Nie zerujemy Tmerx . Timerx w momencie...

    Mikrokontrolery Początkujący   20 Lis 2024 11:19 Odpowiedzi: 5    Wyświetleń: 153
  • Atmega 16. Zwiększanie zmiennej. Zapis temperatury.

    ad 1:Podaj F rezonatora np. 8mhz config timer1 = timer,prescale 256 'konfiguracja timera load timer1 , 31250 'załadowanie timera 1s on timer1 odliczanie 'określenie która procedura ma byc wykonana co 1s enable interrupts 'właczenie przerwań enable timer1 'właczenie timera1 dim twoja_zmienna as long ' twoja pętla do "jakis tam twój program" loop odliczanie:...

    Mikrokontrolery   25 Lis 2011 00:48 Odpowiedzi: 6    Wyświetleń: 1711
  • [Atmega328][Atmega2560][Arduino] - Pomiar czasu propagacji fali 40kHz.

    Cześć. Od około dwóch tygodni pracuję nad układem, którego głównym zadaniem jest jak najdokładniejszy pomiar czasu propagacji fali ultradźwiękowej między dwoma membranami piezoelektrycznymi. Układ jest zbudowany zgodnie ze schematem blokowym przedstawionym poniżej: http://obrazki.elektroda.pl/4225526900_1... Mikrokontroler to Atmega328...

    Arduino   16 Lip 2015 20:13 Odpowiedzi: 8    Wyświetleń: 2277
  • Terminal RS232 Uart Atmega328 Atmega644 ATMEL

    Po poprawce idzie OK. Procesora brak podłączenia nie blokuje procesora. Dognę całość do swoich potrzeb i opublikuję całość w tym temacie. Dodano po 46 Jeszcze jedno pytanie. Jak w tym przypadku zrobić podgląd działania kolejnych procedur jeżeli nie są uruchomione przerwania. W jednym z przerwań są peryferia po i2c które muszą być już zainicjowane zanim...

    Artykuły   31 Lip 2016 23:04 Odpowiedzi: 11    Wyświetleń: 3975
  • [Atmega8] Timer1 - opóźnienie przed pierwszym przerwaniem, co może być przyczyną?

    Dokumentacja mówi WYRAŹNIE: najpierw należy ładować wartość do TCNT1H (który zostaje zapisany do rejestru TEMP), a dopiero potem do TCNT1L, co pociąga za sobą wpisanie do TCNT1 aktualnej części jako dół i wartości TEMP jako góra (przy odczycie najpierw należy odczytać dół, potem górę). Ciągu skutków powodujących takie zachowanie a inne nie chce mi się...

    Mikrokontrolery AVR   09 Sty 2011 16:50 Odpowiedzi: 2    Wyświetleń: 941
  • Integracja przycisku z USART na ATMEGA 16 w języku C - jak to zrobić?

    A mógłbyś to jakoś opisać kodem ? [syntax=c]#define BAUD0 9600 //BaudRate (bps) #define MYUBRR0(F_CPU/16/BAUD0-1) //Przerwanie co 0.1s ISR(TIMER1_COMPA_vect) { uint8_t key; static uint8_t lkey=0; key = (PINC & (1<<3)); //przycisk NPN na PC3 if(!key && lkey) UDR='k'; //wyślik "k" jako znak, że wciśnięto przycisk lkey = key; } //przerwanie...

    Mikrokontrolery AVR   04 Maj 2017 23:34 Odpowiedzi: 5    Wyświetleń: 897
  • [C] ATMega8 - Timery i przerwania nie działają w kodzie C, WinAVR 20100110

    To właśnie zostało uruchomione - musi działać. Pisane pod WinAVR [syntax=c] #define SET(port, bit) port|=(1<<bit) #define RESET(port, bit) port&=~(1<<bit) #define NOT(port, bit) port^=(1<<bit) //Przerwanie wywolywane 100 razy na sekunde ISR(TIMER1_COMPA_vect)// == SIG_OUTPUT_COMPARE1A { NOT(PORTD,PD6); } int main (void) { SET(DDRD,PD6);...

    Mikrokontrolery AVR   20 Maj 2011 18:47 Odpowiedzi: 14    Wyświetleń: 2163
  • [ATMEGA128] Timer1 CTC nie generuje przerwań przy 16MHz, OCR1A=62500

    Działa. Pewnie o czymś zapomniałeś na wstępie. Mój działający kod: .include "m128def.inc" .cseg .org0x0000 rjmpreset ;skok po resecie systemu .org0x0018 rjmpdata ;skok po wykryciu zgodności reset: ldi r16, high(RAMEND) out SPH, r16 ldi r16, low(RAMEND) out SPL, r16 rcallKONFIGURACJA_TIMER1 sei loop: nop rjmploop ;......

    Mikrokontrolery AVR   06 Lip 2008 08:32 Odpowiedzi: 23    Wyświetleń: 4136
  • [Atmega32][Avr-assembler] - Timer1 w trybie porównania przerwanie co 1s

    Działa ;-) Ustaw Breakpoint na linijce (prawy myszy Toggle Breakpoint) [syntax=avrasm]com LED[/syntax] naciśnij F5 (Run) jak zatrzyma się na Breakpoint wykonaj kod przerwania krokowo F11 naciśnij F5 (Run) jak zatrzyma się na Breakpoint wykonaj kod przerwania krokowo F11 itd. Zamiast 15625 ładuj do OCR1A 15624. Wieczorem wrzucę inny sposób migania tym...

    Mikrokontrolery Początkujący   06 Maj 2016 18:29 Odpowiedzi: 22    Wyświetleń: 2175
  • [c] Timer1 w Atmega164P: Niewłaściwa częstotliwość w trybie CTC, 16MHz kwarc

    Używam Timera1 z Atmega164P w trybie CTC, Atmega ma kwarc 16MHz, interesujący kawałek programu wygląda tak: Konfiguracja Timera: void Timer1_Init(void) { DDRD |= (1<<PD7); // PD7 wyjście PORTD |= (1<<PD7); // PD7 <= 1 TCCR1B = (1<<WGM12)|(1<<C...

    Mikrokontrolery AVR   24 Lis 2009 16:44 Odpowiedzi: 8    Wyświetleń: 1649
  • Atmega16 - jak poprawnie sterować 16 serwami za pomocą PWM i timerów?

    Witam, Pomysł dobry ale sypie się najprawdopodobniej z powodu zbyt dużej ilości przerwań. Proponuje projekt sterownika "równoległego", taki wykorzystałem w mojej pracy inżynierskiej. Wprawdzie korzystałem tylko z 8 serw ale 16 też obsłuży po drobnej modyfikacji. Program zabiera większość mocy procesora do obsługi przerwań ale tylko przez czas 2ms potem...

    Mikrokontrolery AVR   14 Cze 2011 10:32 Odpowiedzi: 8    Wyświetleń: 2936
  • odczyt pinu gdy jest on ustawiony jako wyjście-Atmega

    Panowie. wracając do sedna sprawy: czy możliwe jest w trybie PWM poprawnym fazowo użycie przerwania TIMER1 COMPB?

    Mikrokontrolery AVR   22 Kwi 2010 22:31 Odpowiedzi: 20    Wyświetleń: 2317
  • Dekodowanie sygnału DCF77 na ATmega - synchronizacja czasu bez GPS

    U mnie (Katowice) z DCF77 nie ma problemu, oczywiście zdarza się, że przez jakiś czas nie działa, ale przecież nie musi - wystarczy że złapie sygnał od czasu do czasu. Z tego co zauważyłem, to strasznie przeszkadza w odbiorze DCF77 komputer. Kiedy miałem zasilane układy przez USB to generalnie był problem, gdy je zasilałem osobno - z sieci lub z baterii...

    Mikrokontrolery AVR   09 Mar 2023 17:01 Odpowiedzi: 27    Wyświetleń: 10107
  • [ATMEGA644P] Timer T1 działa w trybie Normal zamiast CTC - przerwanie co kilkadziesiąt sekund

    Mam dziwny problem z timerem T1 w procesorze Atmega644P. Procesor taktowany kwarcem 18432000Hz. Timer zainicjowałem jak widać w kodzie poniżej: [syntax=c]ISR(TIMER1_COMPA_vect) { PORTB ^= 1<<2; //LED } int main(void) { PORTB = 0; DDRB = 1<<2; OCR1A = 4499; //18000/4500=4 = przerwanie co 0.25s OCR1B = 0; TCCR1A = 0; //18432000/1024=18000...

    Mikrokontrolery AVR   04 Maj 2017 10:45 Odpowiedzi: 12    Wyświetleń: 1590
  • PWM z Atmega, NE555 i DS2890: zmiana potencjometru i zasilanie MOSFET-a

    Nie ma znaczenia czy pętla główna jest pusta czy nie. Ja uczyłem się na programie właśnie tak skomponowanym. Cały program był wykonywany podczas przepełnienia licznika. Co do podziału to proszę ATMEGA 8 na zegarze 8MHz Config Timer1 = Timer , Prescale = 256 'konfiguracja timera On Timer1 Cykl 'realizacja podprogramu cykl po przepełnieniu Enable Interrupts...

    Mikrokontrolery AVR   17 Lut 2011 23:38 Odpowiedzi: 27    Wyświetleń: 7117
  • Atmega 8 Bascom - Nieprawidłowe zliczanie zmian stanu przekaźnika BC547

    Program zajmuje 50%. Może i jest źle napisany ale działa.. Ja bym to stwirdzenie troche skorygował; Program działa tak jak jest napisany!... bo - "Jest jeszcze jeden problem." Co jakiś czas temperatura podskakuje o 10 stopni a czasami nawet do 200 podskoczyło co spowodowało zbędne załączenie przekaźnika. Z czym jest problem? Popatrz na pracę timera0,...

    Mikrokontrolery Początkujący   05 Lip 2014 06:39 Odpowiedzi: 7    Wyświetleń: 1746
  • ATmega32, jak poprawnie ustawić przerwanie TIMER1 w C na zestawie and-tech EvB 4.3

    a co z przerwaniem porównania kanału B?

    Mikrokontrolery Początkujący   29 Gru 2011 20:59 Odpowiedzi: 4    Wyświetleń: 1530
  • [ATMEGA 16][C] - Timer1 odczytywanie częstotliwości

    Nie obraź się ale Twoja metoda pomiaru częstotliwości jest "trochę" zagmatwana :) Korzystasz z timera w dziwaczny sposób a funkcje typu Delay() w połączeniu z przerwaniami nie działają poprawnie i nadają się co najwyżej do migania diodą. Natomiast pomiar częstotliwości można zrealizować np. tak: 1. Ustaw timer aby generował przerwanie w stałych odstępach...

    Mikrokontrolery   14 Mar 2014 22:28 Odpowiedzi: 9    Wyświetleń: 1773
  • Przerwania atmega2560 jak włączyć przerwania TIMER1/3/4/5_COMPB/C_vect

    W trybie CTC porównywane jest cnt z ICR lub OCR i w wyniku porównania generowane jest przerwanie over/underflow oraz zerowany jest cnt. I tylko o oto chodzi. Zawartości pozostałych rejestrów OCR są porównywane ale nie ma ją wpływu na wartość cnt. Jednak możesz odblokować pochodzące od nich przerwania. Najłatwiej jest sobie poćwiczyć i przesymulować...

    Mikrokontrolery AVR   17 Gru 2022 17:52 Odpowiedzi: 4    Wyświetleń: 417
  • ATMega8 - Jakie rejestry timera zerować przed uśpieniem mikrokontrolera?

    Pierwszy i bardzo poważny problem zauważyłem w funkcji TIMER1_COMPA, jest nim linijka rjmp uspij. Gdy się wykona, to przerwania pozostaną zablokowane, oraz kilka bajtów na stosie zostanie uwięzionych - głównie adres powrotu z przerwania. Można temu zaradzić poprzez wstawienie pop + pop + sei przed rjmp. Drugi problem, to karygodna pętla główna - dławienie...

    Mikrokontrolery AVR   15 Sie 2014 19:22 Odpowiedzi: 17    Wyświetleń: 2583
  • Timer1 (16bit) ATmega 8515 czemu liczy tylko do 8bit?

    Jak ustawic timer 1 żeby liczyl 16bit a nie 8? bo to co napisalem ponizej to zawsze tylko liczy w TCNT1L a to co wpisałem w TCNT1H automatycznie wymazuje przy kolejnym cyklu dlaczego? :( .cseg .org 0x00 rjmp start .org 0x06 rjmp timer1 .org 0x11 Start: Ldi Acc, 1; ustaw preskaler timera 1 na 1 Out TCCR1A, Acc Out TCCR1B, Acc Ldi Acc, 0x80 ; wpisz wartosć...

    Mikrokontrolery   01 Lip 2005 23:57 Odpowiedzi: 1    Wyświetleń: 1344
  • [C][ATmega16] - Niechciana zmiana częstotliwości przerwania (Timer1)

    Taki bubel całkowicie krzyżuje mi plany Masz rację, zrobiłeś bubel ;) który na szczęście można naprawić na kilka sposobów, z których najprostszy to wywołanie sei() w funkcji obsługującej przerwanie. Dlaczego tak się dzieje - po prostu dlatego, że na początku obsługi przerwania samo z siebie wywołuje się cli(). Najczęściej unika się tak długo trwających...

    Mikrokontrolery AVR   12 Sie 2012 16:25 Odpowiedzi: 3    Wyświetleń: 1425
  • Atmega128A-AU[C] nie wykonuje przerwania od timera1

    Witam, męczę się już któryś dzień nad nową Atmegą128 i gdy nic nie znalazłem na forum co by mi pomogło postanowiłem zadać pytanie. Czemu ten uC nie wchodzi mi w przerwanie? Napisałem prosty program testowy, steruje on silnikiem krokowym, po określonej liczbie impulsów ma zmienić ICR1 co powoduje wzrost częstotliwości a zarazem prędkość obrotową, na...

    Mikrokontrolery AVR   28 Kwi 2012 17:27 Odpowiedzi: 24    Wyświetleń: 2075
  • ATmega32 IAR: Nie działa przerwanie przy przepełnieniu timera T1

    Witam, Popełniłeś kilka błędów: - aby odblokować przerwania od przepełnienia timera 1 trzeba ustawić bit 2 a nie 5 w rejsestrze TIMSK - wektor przerwania od przepełniania timera 1 to nie 0x12 a 0x24 Dobrze jest przy pisaniu w C korzystać z funkcji dostarczanych wraz z kompilatorem "intrinsic function" takich jak __interrupt_enable, __interrupt_disable,...

    Mikrokontrolery AVR   11 Lis 2008 00:00 Odpowiedzi: 3    Wyświetleń: 1437
  • atmega bascom - Atmega bascom pomiar prądu przy pwm

    Włączając przerwanie od Timera który robi PWM (czyli Timer1) i pomiar ADC robiąc w tym przerwaniu (w każdym razie wyzwalając go w tym przerwaniu). PWM trzeba ustawić w tryb Phase Correct. Wtedy pomiar będzie dokładnie w środku przebiegu (w niczym to nie przeszkadza, nie musi być na końcu).

    Mikrokontrolery AVR   25 Cze 2018 21:02 Odpowiedzi: 49    Wyświetleń: 6162
  • [Atmega32]Jak skonfigurować zegarki wewnetrzne (Timer1 i Timer0)?

    drogi starosto int0 jako przerwanie zewnętrznę może posłużyć np tak jak na laborkach do obsługi odbioru rc5 gdy podczas wystąpienia tego przerwania odbierany jest kod rc5 z odbiornika podczerwieni . pml11

    Mikrokontrolery AVR   26 Cze 2011 20:40 Odpowiedzi: 13    Wyświetleń: 1842
  • ATMega328P Arduino - Mniej sprzętowych PWM do dyspozycji niż trzeba

    Kolego Greebqmaster proponowałbym tak: robisz przerwanie co "rozdzielczość serwa" czyli co np. 20uS i w tym cyklicznym przerwaniu zwiększasz licznik oraz porównujesz go z kilkoma zmiennymi odpowiedzialnymi za poszczególne wyjścia sterujące: [syntax=c]ISR (TIMER1_COMPA_vect) //przerwanie co 20us { static uint16_t cnt=0; cnt++; if(cnt>1000) { cnt =...

    Arduino   06 Gru 2014 20:50 Odpowiedzi: 9    Wyświetleń: 1398
  • [ATMEGA32][BASCOM] - Praca Timer1 w trybie CTC liczenie wygenerowanych impulsów

    A niby czemu ma program skakać do procedury obsługi przerwania od przepełnienia? Przecież on się nie przepełnia, tylko po doliczeniu do wartości OCR lub ICR , natychmiast się zeruję ( przy okazji może ,ale nie musi zmieniać stan pinu OC). Musisz uruchomić przerwanie od tego właśnie porównania - czyli od Compare, tak jak wspomniał kolega wyżej. Tylko...

    Mikrokontrolery AVR   11 Paź 2013 20:26 Odpowiedzi: 12    Wyświetleń: 2637
  • Czy przerwania Timer1 i Timer0 w ATmega32 mogą się kolidować?

    Jeżeli piszesz w C i używasz avr-libc, to przerwania "nieblokujące" (takie które mogą być przerwane przez inne przerwanie (lub nawet same przez siebie, trzeba uważać)) deklaruje się tak (przykład dla INT0): ISR(INT0_vect, ISR_NOBLOCK) { jakiś kod } Dzięki temu sei() zostanie wywołane prędzej, niż zrobiłbyś to wewnątrz procedury sam.

    Mikrokontrolery AVR   05 Lut 2011 01:34 Odpowiedzi: 21    Wyświetleń: 1484
  • ATMEGA 2560: Jak odtwarzać krótkie pliki WAV bez użycia avr-dos.bas?

    A więc tak. Dodałem obsługę przerwania i dodatkowo dodałem zapalenie diody led kiedy nastąpi skok do Timer1_handler . Ale taki skok nigdy nie następuje! Chociaż mam zadeklarowane : On Timer1 Timer1_handler Nosave Odtwarza plik do samego końca. Ale skok do przerwania nie następuje.

    Mikrokontrolery AVR   16 Lis 2016 22:22 Odpowiedzi: 328    Wyświetleń: 97047
  • ATMega 8: Jak skonfigurować sterownik serwonapędu z taktowaniem 8MHz?

    Pozwolę sobie jeszcze raz nadużyć Waszej uprzejmości i znowu zwracam się z prośbą o pomoc Sprawa dotyczy sterownika do serwonapędu (na razie jednego, później rozbuduje do 8). Taktowanie 8MHz. Oto kod programu: [syntax=c]#include<avr/io.h> #include<avr/interrupt.h> #include<HD44780.c> #include<util/delay.h> #include<stdlib.h>...

    Mikrokontrolery AVR   30 Sty 2012 16:53 Odpowiedzi: 3    Wyświetleń: 1602
  • AVR Timer1 - wyświetlanie tekstu co 0.23s bez blokowania komponentów

    \ 1. Rozumiem, że ustawienie odpowiedniej częstotliwości da mi czas, który jest mi potrzebny? Tak, program z tego postu demonstruje rejestry i bity których odpowiednie ustawienie spowoduje daną częstotliwość przerwać timerów, a w konsekwencji odpowiednią częstotliwość wysyłania tekstu / migania diodą, jednak obecny ustawiony czas jest przykładowy, nawet...

    Arduino   20 Gru 2019 21:55 Odpowiedzi: 21    Wyświetleń: 2250
  • [ATMEGA8] [ATMEGA8][C] Reakcja na przycisk, zliczanie i zmiana stanu bitu po 1 sek.

    flaga==0; cóż to za cudo? Wykorzystujesz przerwanie TIMER1_OFV_vect a licznik ustawiasz w tryb CTC z wykorzystaniem COMPA. nic dziwnego ze nie działa. 2 sprawdzenie czy wciśnięto klawisz zbyteczne. if(flaga==1) { TCNT1=0x00; nie tylko zeruj licznik ale i włącz go, bo TCNT1=0X00; tylko zeruje licznik a nie zatrzymuje Dodano po 4 Ma byc...

    Mikrokontrolery AVR   04 Maj 2010 22:30 Odpowiedzi: 14    Wyświetleń: 2869
  • [atmega] [ATmega][Bascom] Jak odliczać czas bez zatrzymywania programu?

    Może używając timer1 i jakąś zmienną przechowującą ilość przerwań wywołanych przez ten timer - czyli co przerwanie timera zmienna+1 i jeśli osiągnie jakąś tam wartość (czyli ileś tam przerwań timera = jakiś czas (zależny od kwarcu)) to wtedy spełniać ten warunek.

    Mikrokontrolery   12 Wrz 2008 14:02 Odpowiedzi: 20    Wyświetleń: 2589
  • Atmega 32 [C] - Wywołanie pomiaru w przerwaniu timera1

    Witam. Chciałbym wykorzystać przerwania timera1 w Atmega32 do realizacji pojedynczego pomiaru wartości na ADC. Timer ustawiam w tryb "PWM with phase correct", a ADC na pojedynczy pomiar: [syntax=c] //ustawienia timer1 TCCR1A |= (1<<WGM10) | (1<<WGM11); TCCR1A |= (1<<COM1A1); TCCR1B |= (1<<CS11); //POZWOLENIA NA PRZERWANIE TIMSK...

    Mikrokontrolery AVR   07 Lis 2015 10:25 Odpowiedzi: 16    Wyświetleń: 1572
  • [Atmega32][Bascom] - Odtwarzacz *.wav z panelem dotykowym.

    Spróbowałem zrobić przerwanie za pomocą timera0 jako czasomierza.Co około 100ms sprawdza stan panela.Teraz układ działała tylko na początku, tzn. program uruchamia się właściwie ,inicjuje kartę sd(z piosenkami) ,na wyświetlaczu pojawiają się odpowiednie komunikaty, zaczyna grać. I tu pojawia się pierwszy problem.Słychać jak piosenka jest zatrzymywana...

    Mikrokontrolery Początkujący   12 Paź 2012 18:37 Odpowiedzi: 34    Wyświetleń: 4917
  • [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
  • [Bascom] [Bascom][Atmega8] Jak wywołać przerwanie int0 do uruchomienia timer1?

    Tak po pierwsze to przerwanie masz domyślnie wzbudzane stanem niskim, czyli przerwanie wywołuje się W KÓŁKO dopóki na pinie panuje stan niski. Musisz je ustawić tak, by reagowało na zbocze (w Twoim przypadku opadające). Poza tym jak pisał (at)emarcus - cały program jest pisany bez zastosowania się do jakichkolwiek dobrych nawyków, a i jak widzę wiedza...

    Mikrokontrolery AVR   01 Paź 2011 17:22 Odpowiedzi: 3    Wyświetleń: 1510
  • Jak przeliczać przepełnienie Timer1 16bit w ATmega32 z preskalerem 256?

    To mój pierwszy post na tym forum.. :) Zrobiłem zegar DCF na dyplomówkę ATmega32 + 16MHz + 2*16 + U4221B (DCF) + RS232 + RC5 all SMD. W szystko jest na jednej płytce i chodzi oki,odbiornik działa oki nie widzę zakłuceń (mam diodę z ID tego sygnału) teraz to programuję w Bascomie i tak... Nie chodzi mi samo dekodowanie DCF: - wykorzystuję przerwanie...

    Mikrokontrolery   22 Gru 2012 16:48 Odpowiedzi: 54    Wyświetleń: 14808
  • Atmega32+biblioteka IRMP do odczytu pilota IR prośba o pomoc

    Witam, bardzo proszę o pomoc. Zrobiłem układ na Atmega32 z podłączonymi diodami do całego PortuA, oraz do PortuB Pin2 (PB2) dekoder podczerwieni TSOP31236 (testowałem też na TSOP31238). Wykorzystać chciałem bibliotekę IRMP https://obrazki.elektroda.pl/6945425800_... a w załączniku spakowany cały projekt z plikami biblioteki irmp.

    Mikrokontrolery Początkujący   08 Cze 2021 18:07 Odpowiedzi: 2    Wyświetleń: 582
  • [AVR ATmega328] [AVR ATmega328][C] - Timer1 nie wywołuje przerwania, kod nie działa

    Witam, potrzebuje pomocy z timerem1 w atmega328p. mam taki kod: [syntax=c] // Ustawienie timera 1 TIMSK1 |= (1<<TOIE1); // umozliwenie przerwan od timera1 TCCR1B |= (1<<CS00) | (1<<CS02); // prescaler na 1024 TCNT1 = 60000; // wartość rejestru w którym odbywa się liczenie na 60000 sei(); // przerwanie od timera1 ISR(TIMER1_OVF_vect)...

    Mikrokontrolery Początkujący   19 Gru 2014 19:11 Odpowiedzi: 5    Wyświetleń: 852
  • Atmega16A - prawdopodobnie błędna obsługa przerwań

    Witam, pracuję na atmedze16A i wewnętrznym clocku 4Mhz. Próbuję wygenerować przerwanie z częstotliwością 80kHz, które spowoduje negacje jednego z bitów portu B(PORTB 0). Rozumiem, że dzięki takiej operacji wygeneruję sygnał o częstotliwości 40kHz, który pozwoli mi generować ultradźwięki w nadajniku. Napisałem taka obsługę przerwania, ale coś mi nie...

    Mikrokontrolery AVR   10 Lut 2011 17:19 Odpowiedzi: 25    Wyświetleń: 1596
  • ATmega32 - Licznik impulsów Timer0 i Timer1 ustawienie

    Witam, mam problem z uruchomieniem programu do zliczania impulsów na T1 przez 1 sekundę. Wyświetla mi ciągle zero. Co źle ustawiłem z Timerami ?? Atmega 32 [syntax=c] #define F_CPU 1000000UL #include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.h> #include <hd44780.h> volatile unsigned char licznik = 0; //liczba...

    Mikrokontrolery Początkujący   29 Mar 2013 22:18 Odpowiedzi: 15    Wyświetleń: 5724
  • ATmega8 - Timer w trybie CTC i wykorzystanie przerwań.

    Problem rozwiązany, zmieniłem tylko przerwanie które muszę włączyć, na compare i wektor do niego. Dzięki za pomoc :) Wstawiam tu kod, jeśli ktoś miałby taki problem jak ja, to może dojdzie co zrobić po kolei aby zadziałało ;) Czas jaki led ma migać ustawiłem programowo na wypełnienie 10% co daje jedno mignięcie 200ms i 1800ms przerwy. [syntax=c] /*...

    Mikrokontrolery AVR   12 Sty 2014 10:47 Odpowiedzi: 9    Wyświetleń: 6870
  • [AVR] ATmega8L: wybudzanie z power-down przez INT0 nie działa, przerwanie aktywne tylko w pracy

    ... Tutaj jest moje zadanie z wprowadzonymi zmianami. Nadal działanie takie samo. http://www.elektroda.pl/rtvforum/viewtop...

    Mikrokontrolery AVR   07 Kwi 2012 16:02 Odpowiedzi: 15    Wyświetleń: 2869
  • Jak napisać kod w C dla atmega32 do mrugania diodą PWM bez blokowania?

    Ale mieszasz. Ustawiłeś dwa cykliczne przerwania i dziwisz się, że coś nierówno miga. Tu w avr nie ma wielowątkowości sprzętowej i jedno przerwanie przeszkadza drugiemu. Przenieś i wyłącz to przerwanie to co masz w ISR(TIMER2...) do ISR(TIMER1...) . Idea programowego PWM i timerów jest właśnie w tym aby działało wszystko pod jednym wspólnym cyklicznym...

    Mikrokontrolery AVR   13 Lip 2019 13:02 Odpowiedzi: 19    Wyświetleń: 726
  • [atmega32] Jak napisać program w C do multipleksowania 2 wyświetlaczy LED na ATmega32?

    margas4542 zaopatrz się w program TimerCycles ze tej strony: http://www.wkretak.pl/downloads.php?cat_... Dzięki temu obliczysz liczbę cykli czyli to co zapisuję się do rejestru OCR1A. Jeśli chodzi o timery to po pierwsze preskaler(czyli część obwodu timera który dzieli impuls zegarowy tj. zmienia rozdzielczość timera) jest ustawiony na 1 mówi o tym...

    Mikrokontrolery AVR   29 Gru 2010 10:51 Odpowiedzi: 15    Wyświetleń: 6888
  • [Atmega16] Atmega16: Problemy z regulacją ściemniacza, porty PD3/PD4, przerwania INT0

    Witam! Napisalem program do obslugi ściemniacza na atmega16. Korzystamy z portu d. PD5 to pin wyjściowy sterujący triakiem. Impuls podany na PD3 lub PD4 zwieksza lub zmniejsza wartość zmiennej 'sel' regulując sterowaniem fazowym. PD2(INT0) tu pojawia sie przerwanie zboczem opadajacym od ukladu detekcji zera. Program ten prawie w ogole nie dziala. Napisalem...

    Mikrokontrolery AVR   05 Kwi 2010 17:24 Odpowiedzi: 6    Wyświetleń: 1651
  • [atmeg8] [atmeg8][Bascom] Timer1 i USART - problem z synchronizacją w stacji meteo

    Witam W projekcie wysyłanych będzie około 800bytów danych do PC i w PC bedzie na bieżąco wyświetlane. Do czego zmierzam. W czasie kiedy bedę obsługiwać przerwanie od Timer1 może pojawić się sygnał do PC, że dokonywana bedzie tramsm,isja. W atmega8 nie mozna ustawiać priorytetów przerwań w odróżnieniu do 8051. Kiedy pojawiało mi się przerwanie do timer1...

    Mikrokontrolery AVR   29 Sty 2009 21:52 Odpowiedzi: 12    Wyświetleń: 2601
  • [mega8] Atmega8-16PU: Dioda miga zamiast reagować na przerwanie INT1

    W oparciu o Wasze rady oraz [url=http://www.avrfreaks.net/index.php?... Guide to AVR Timers i przydatną stronę [url=http://www.et06.dk/atmega_timers/]A... Timer/Counter/Prescaler Calculator w wolnym czasie sklepałem taki kawałek kodu: [syntax=c]#include <avr/io.h> #include <avr/interrupt.h>...

    Mikrokontrolery   09 Maj 2011 14:25 Odpowiedzi: 8    Wyświetleń: 1812
  • Bascom AVR - Dekodowanie części jawnej z układów HCS200/301

    Robi się to prosto na wejściu ICP Atmegi, mierzysz czas pomiędzy kolejnymi zboczami, raz jest opadające, raz narastające itd.. potem to tylko interpretacja wyników, liczenie bitów i po odliczeniu 64 bitów z transmitowanych 66, bo dwa ostatnie dla uproszczenia procedury pomijasz. wyświetlasz na LCD lub wysyłasz po RS232 do komputera, a tam wyświetlasz...

    Mikrokontrolery AVR   12 Kwi 2018 10:43 Odpowiedzi: 40    Wyświetleń: 7068
  • [ATmega32] [ATmega32][ADC] Zawyżone odczyty przy niskim napięciu z potencjometru

    Witam. Problem który mi się nadarzył był już poruszony na forum (czyli nie jest to odosobniony przypadek), niemniej pozostał bez zadowalającej odpowiedzi. Mianowicie, w ramach przetestowania przetwornika podaję mu napięcie z potencjometru. Przy małych wartościach napięcia (nieco wyższych od zera) przetwornik bardzo zawyża (nawet do pełnego zakresu)....

    Mikrokontrolery   19 Lis 2009 22:26 Odpowiedzi: 5    Wyświetleń: 1730
  • Atmega644pa - PWM: Sterowanie jasnością diody i obrotami silnika - kod nie działa

    Cześć Uczę sie obsługi PWM na mikrokontrolerze Atmega644pa, chcę w prosty sposób sterować obrotami silnika za pomocą PWM. Na początek próbuję sterować jasnością diody, co potem chcę analogicznie zaimplementować dla silnika aby uzyskać sterowanie obrotami. Napisałam poniższy program i modyfikowałam go przez dwa dni z zerowym sukcesem, bardzo proszę o...

    Mikrokontrolery   03 Sty 2016 13:41 Odpowiedzi: 6    Wyświetleń: 897
  • Atmega8 + MAX6575LZUT: brak odczytu temperatury, konfiguracja INT0 i timer1

    robie uklad gdzie chce wykorzystac element max6575lzut.. zapoznalem sie z dokumentacja jednakze nie otrzymuje wartosci zmierzonej.. moze wiecej szczegolow.. uklad podlaczylem do wejscia portd.2 (int0) uP atmega 8... wybralem 5us/K (przez odpowiednie polaczenie wyprowadzene ukladu max).. w programie na wstepie ustawiam port jako wyjscie i ustawiam w...

    Mikrokontrolery   02 Sty 2008 12:37 Odpowiedzi: 4    Wyświetleń: 1179
  • Atmega8 timer i przerwanie INT1 - jak wstawić do programu?

    Nie jestem pewien, ale może się rozchodzić o różną częstotliwość względem napięcia zasilania. Mam na myśli że jak ustawisz 8MHz to w zależności od Vcc i temperatury możesz mieć np: 3% mniej czyli ~7,75MHz, zaznaczone jest to w dokumentacji na wykresach od strony ~275. Mogło by to powodować kilka sekund różnicy na minucie. Deklaracja to tylko ta linijka:...

    Mikrokontrolery AVR   14 Maj 2012 07:12 Odpowiedzi: 40    Wyświetleń: 5689
  • [Atmega32][C]Przerwanie i dziwne zachowanie zmiennej

    Witam, ostatnio podłączyłem do Atmegi wyświetlacz od nokii 3310 i postanowiłem pouczyć się trochę timerów i przerwań. Chciałem napisać prosty programik liczący impulsy i wyświetlać je na LCD. W przerwaniu od INT0 zliczam impulsy, a w drugim przerwaniu co sekundę przepisuje ilość impulsów do zmiennej i kasuję liczbę impulsów. Problem pojawia się gdy...

    Mikrokontrolery AVR   19 Gru 2011 21:34 Odpowiedzi: 18    Wyświetleń: 2180
  • Atmel/ATmega644PA-AU/BASCOM - Jak skutecznie usypiać AVR i oszczędzać energię?

    (at)dondu Twoje artykuły czytałem dokładnie ;-) Z kodu poniżej wycięte ustawianie portów (bonie widziałem żadnej różnicy w zużyciu prądu). Procek ustawione fusami na 8MHz wewnętrzny z podziałem przez 8 [syntax=vbnet] $crystal = 1000000 ' ustawiamy prędkość zegara $baud = 9600 ' ustawiamy prędkość transmisji $hwstack = 220 ' ustawiamy wielkość stosu...

    Mikrokontrolery AVR   22 Gru 2016 15:08 Odpowiedzi: 33    Wyświetleń: 2424
  • [ATMega16] ATMega16: Niezgodne wyniki pomiaru czasu impulsów w mikrosekundach

    No ale czegoś nie rozumiem może - tzn coś robisz troszkę na okrętkę jeśli chodzi o ICP. Ja bym na twoim miejscu zamiast podawać ten sygnał na INTx - podałbym go właśnie na wejście ICP. Po co ta kombinacja z INT? Toż chodzi o to, że to właśnie ICP ustawiasz aby reagowało na początku na zbocze opadające i zostanie ładnie wygenerowane przerwanie TIMER1_CAPT_vect....

    Mikrokontrolery AVR   05 Lis 2009 19:48 Odpowiedzi: 11    Wyświetleń: 3979
  • [ATMega] Jak najlepiej mierzyć prędkość na ATMega w Bascom? Impulsy, przerwania, timer?

    Postawiłem sobie zadanie opracowania licznika prędkości. Powiedzmy, że do roweru. Konstrukcję i jej sens odłóżmy na razie na bok :) Zadanie dla procesora niby banalnie proste - liczyć prędkość przez badanie impulsu na pinie. I teraz zaczynają się schody. Mogę to zrobić na kilka sposobów (te które znam): 1) mierzenie czasu między impulsami 2) mierzenie...

    Mikrokontrolery AVR   27 Lip 2009 22:14 Odpowiedzi: 6    Wyświetleń: 4350
  • Jak ustawić kąt serwa modelarskiego w Bascom na Atmega?

    Najprawdopodobniej jest gdzieś błąd w kodzie tak sytuacja nie powinna mieć miejsca. Sprawdź czy to "podświetlenie" jest przypisane do dobrego wektora przerwania (Timer1 w Twoim przypadku). Jeśli możesz to wrzuć cały kod wtedy coś więcej można będzie powiedzieć. pozdrawiam, Marcin

    Mikrokontrolery AVR   11 Kwi 2011 20:34 Odpowiedzi: 12    Wyświetleń: 3892
  • AtMega 324/644/1284 - reset mikrokontrolera po odblokowaniu przerwań

    Kod jest prosty, bo siedze nad nim od dawna i już wyrzuciłem wszystko co było zbędne. Zależy mi na tym by na wyświetlaczu pojawił się napis "Timer0 OK". [syntax=c]#include <avr/io.h> #include <avr/interrupt.h> #include <avr/pgmspace.h> #include <util/delay.h> #include "LCD/lcd44780.h" void timer_start (void); volatile uint16_t...

    Mikrokontrolery AVR   11 Lis 2015 17:52 Odpowiedzi: 6    Wyświetleń: 1278
  • Atmega 16 - opóźnienie sygnału 2 ms, problem ze zboczem opadającym

    zatem czestotliwośc sygnalu wejsciowego bedzie w granicach od 15Hz do okolo 150 Hz, sygnal wyjsciowy z ta sama czestotliwościa tylko, że ze zmiennym opóźnieniem, dla niskich obrotów większe opóznienie dla wyższych oprotów mnijsze.Opóżnienie bedzie sie zawierać w zakresie mniej wiecej od 5ms do 0 z rozdzielczoscia okolo 50 us, dlatego jak dosatlem takie...

    Mikrokontrolery AVR   16 Cze 2009 13:12 Odpowiedzi: 27    Wyświetleń: 3641
  • Atmega328 - timer1 i timer0 - sterowanie diodami w zegarze widmowym

    [syntax=cpp] #include "avr/io.h" #include <avr/interrupt.h> #include <avr/pgmspace.h> #include <util/delay.h> #include "myuart.h" #include "mk_term.h" volatile uint8_t kawalek; volatile uint16_t impuls; //zmienna która jest liczbą impulsów przed wyrezerwanie timera #define D1_ON PORTD |=(1<<PD7); #define D2_ON PORTD |=(1<<PD6);...

    Mikrokontrolery AVR   19 Sty 2015 12:12 Odpowiedzi: 30    Wyświetleń: 2151
  • Atmega 128 i Timer1 z trzema rej. OCR1A, OCR1B i OCR1C

    Cześc. Chcę użyć licznika timer/counter1 w układzie Atmega128 w trybie CTC. Potrzebuje aby przy zgodności następowało przerwanie. Po przeczytaniu Datasheet juz nie wiem o co chodzi w tym. Dlaczego i jak sie do tego zabrac skoro są tam aż 3 rejesrty OCR1A, OCR1B i OCR1C. Czy wpisując do tych rejestrów rózne wartości będą 3 przewania, o co tu chodzi z...

    Mikrokontrolery   02 Paź 2006 20:31 Odpowiedzi: 2    Wyświetleń: 2495
  • [C] [ATmega32] - ATmega32 - obsługa timera/przepełnienie co 100ms/pomiar na ADC

    Zmieniłem kod i zamiast: [syntax=c]TIMSK |= (1<<TOIE1);[/syntax] wstawiłem: [syntax=c]TIMSK |= (1<<OCIE1A);[/syntax]. Znów działa mi i wyświetla wyniki ADC na terminalu :) Cały kod wygląda teraz tak: [syntax=c]#include <avr/io.h> #include <avr/interrupt.h> #include "delay.h" #include "mkuart.h" #define F_CPU 11059200UL //##########################...

    Mikrokontrolery AVR   11 Lis 2013 23:14 Odpowiedzi: 19    Wyświetleń: 3246
  • Bascom AVR: Czy Timer1 w ATmega8 dokładnie odmierza 250ms przy 4MHz?

    Program działa i nawet licznik się zatrzymuje tylko jaką mam pewność że jest to 250ms? chodzi mi o to żeby uzyskać jak największą dokładność. Dzięki za ten przykład, spróbuję... Nie wiem dokładnie , do czego Ci to potrzebne ale przykład z przerwaniem , który podałem wcześniej działa z dokładnością do ~2 cykli zegara(500)ns.Czy to niezbyt dokładnie...

    Mikrokontrolery   22 Lis 2005 14:56 Odpowiedzi: 7    Wyświetleń: 1167
  • [ATmega32][c] Przerwanie od porównania w timer1 - ograniczenia

    Niestety problem znów się pojawił: Program nie wchodzi do pętli while, gdzie warunek jest niespełniony dopiero po zatrzymaniu dopiero co ustawionego rejestru licznika, próbowałem jeszcze inny sposób, z bitami zmiennej flag ustawianymi w przerwaniach - do przerwania wchodzi, ale jak wróci do programu to nie wychodzi z pętli - tak jakby warunek był cały...

    Mikrokontrolery AVR   21 Lis 2011 17:23 Odpowiedzi: 10    Wyświetleń: 2449
  • atmega162 - break, ustawianie flagi przyciskiem, i inne pytania

    Witam, uczę się języka C na płytce kursu AVT3505 z atmegą162 i wyświetlaczem LED. Moim celem jest stworzenie programu który zlicza od pierwotnej wartości i do zera, a następnie przerywa program i zmienia stan czwartego pinu portu D na przeciwny. [syntax=c] #include <avr/io.h> #define F_CPU 8000000 #include <util/delay.h> #include <avr/interrupt.h>...

    Mikrokontrolery Początkujący   08 Wrz 2013 10:16 Odpowiedzi: 6    Wyświetleń: 1563
  • [atmega16] [Bascom] Wpis wartości początkowej do timera

    Sprobuj jeszcze od timera0 obsluge przerwania w petli glownej, a Krotki kod generujacy tego prostokata, mozesz zorbic: -przeliczajac ile z danym kwarcem wynosi okres danej czestotliwosci wpisac do licznika timera1 polowe tej wartosci, aby co pol okresu zmienial stan wyjscia na przeciwnym, przerwanie od Timera1 oczywsice ze wzgledu na prostote zrob w...

    Mikrokontrolery AVR   14 Mar 2010 21:32 Odpowiedzi: 22    Wyświetleń: 3042
  • Synchronizacja Bascom, mega8535, LED 7-segment, DS1307, DS1820, ULN2008

    Witam Wyświetlacz musisz zrobić w przerwaniu. Częstotliwość odświeżania każdego powinna wynosić minimum 50Hz. Lepiej unikać dokładnej częstotliwości 50Hz. Może to być np. 53.5Hz. Jeśli ma np. 4 takie kostki to częstotliwość powinna wynieść 4 * 53.5Hz czyli 214Hz lub jak kto woli przerwanie powinno być wywoływane co 4,67 milisekundy. Od tego bym zaczął....

    Mikrokontrolery   01 Sie 2006 08:50 Odpowiedzi: 6    Wyświetleń: 2213
  • [Atmega8] Atmega8 BASCOM TIMER1 – sprawdzenie kodu generatora 50Hz do UPS/przetwornicy

    Witam ! Obliczenia źle oraz pewnie źle ustawione fusebity (pewnie default - 1Mhz internal rc). Instrukcja Load jako parametr ma po ilu impulsach ma wystąpić przerwanie, więc powinno być 625, ale że pojedyńcza połówka przebiegu sieci trwa nie 20ms a tylko 10ms więc powinno być 312,5 :D. Więc lepiej chyba prescale = 64 i load timer1, 1250. Pozdrawiam...

    Mikrokontrolery AVR   13 Cze 2010 12:30 Odpowiedzi: 7    Wyświetleń: 1967