atmega328 timer przerwanie

Znaleziono około 260 wyników dla: atmega328 timer przerwanie
  • 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ń: 936
  • REKLAMA
  • [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ń: 867
  • Nie znalazłeś odpowiedzi? Zadaj pytanie Sztucznej Inteligencji

    Czekaj (2min)...
  • 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ń: 831
  • ATmega328P: Przerwanie Timera 8-bitowego - Dlaczego pierwszy kod nie działa?

    Korzystając z tego kursu [url=http://maxembedded.com/2011/06/avr-... nie moge uzyskać migania diody przy modyfikacji kodu: [syntax=c]int main( void ){ DDRB = LED1; PORTB = LED1; TCCR2B |= (1<<CS21)|(1<<CS22); TCNT2 = 0; TIMSK2 |=(1<<TOIE2); sei(); while(1){ } } ISR(TIMER2_OVF_vect) { if (TCNT2 >= 10) PORTB &=...

    Mikrokontrolery Początkujący   17 Wrz 2017 21:29 Odpowiedzi: 2    Wyświetleń: 1308
  • REKLAMA
  • 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ń: 2235
  • Atmega328 - Błąd w konfiguracji Timer2 z kwarcem 32768Hz

    Witam. Tak ustawiam Timer2 [syntax=c] void initTimer2(void) { /* Funkcja inicjująca timer2 w tryb asynchroniczny wykorzystujący kwarc 32,768kHz timer2 odpowiada za odliczanie czasu generuje przerwania co 8 sekund ==== Rejestr ASSR w Timer_Counter_2 ====== */ TIMSK2 = 0;//Disable timer2 interrupts ASSR &= ~(1 << EXCLK); ASSR |= (1<<AS2);//Enable...

    Mikrokontrolery   30 Wrz 2016 18:57 Odpowiedzi: 6    Wyświetleń: 981
  • REKLAMA
  • Jak ustawić timer1 żeby przerwanie występowało co 1us?

    Witam, muszę tak skonfigurować timer1 aby przerwanie występowało co 1us. Mam uC atmega328pu i kwarc 16MHz. Warości, które wpisuję do rejestrów porównania są na pewno poprawne, ale w moim przypadku dioda zmienia swój stan w czasie dłuższym niż 1s (dla testów w ISR umieściłem licznik ,który w momencie osiągnięcia warości 1 milion zmienia stan diody)....

    Mikrokontrolery AVR   19 Kwi 2021 08:34 Odpowiedzi: 11    Wyświetleń: 960
  • Atmega328P - Jak zatrzymać właściwie Timer 2 w trybie CTC

    Timer 2 ma ustwienia prescalera na 1 i rejestru porównawczego na 7 Zacznijmy od tego: timer w trybie CTC, preskaler 1, OCR2A=7, czyli przerwanie co 8 taktów zegara, a ile taktów trwa procedura obsługi tego przerwania? Samo wejście i wyjście z procedury zajmuje więcej czasu.

    Mikrokontrolery AVR   24 Lut 2015 22:24 Odpowiedzi: 7    Wyświetleń: 2043
  • ATmega328 - Jak użyć timera bez przerwań do odmierzania czasu?

    Spoko dondu, mi jedynie chodzi o nieprzerywanie programu głównego w czasie wykonywania pewnych zadań. A obsłużyć przerwanie zdążę spokojnie gdy głóœny program zostanie wstrzymany w kontrolowany sposób. Rozumiem że flagi które podaliście trzeba samemu zerować po wykryciu wartości true? Czy może timer to robi i to go trzeba uruchomić ponownie po...

    Mikrokontrolery AVR   06 Gru 2015 00:46 Odpowiedzi: 8    Wyświetleń: 1038
  • Atmega328p - Ustawienie przerwania na INT1 z użyciem Timer1

    czy ktoś byłby mi w stanie pomóc w ustawieniu przerwania na int1 urzywająć timera1 ? ponieważ nie radzę sobie z ustawieniem tego 16 bitowego timera. ogolnie przerwanie miało by wyłączać silnik jesli zostanie wciśniety przycisk bądź krancówka

    Mikrokontrolery AVR   25 Sty 2018 19:55 Odpowiedzi: 0    Wyświetleń: 558
  • BASCOM, AVR, RS485, kłopot z komunikacją kilku urządzeń

    Witam, drogich forumowiczów. Mam problem z komunikacją kilku urządzeń w sieci rs485. A tak prawdę mówiąc to z komunikacją pomiedzy dwoma, jednym "master" i jednym "slave". Normalnie staram się zadawać pytania w ostateczności na forum Elektroda, ale po prawie 3 tygodniach siedzenia przy problemie, przeglądaniu masy poradników i postów związanych z rs485...

    Mikrokontrolery Początkujący   23 Paź 2020 10:17 Odpowiedzi: 27    Wyświetleń: 3024
  • [bascom][atmega] Timer1 - jest przerwanie od pełnego cyklu pomimo jego skrócenia

    Witam, pisze program w którym wykorzystuję 16 bitowy Timer1 z Atmegi 328. Najpierw konfiguruję go tak: [syntax=vbnet]Config Timer1 = Timer , Prescale = 64 'Kwarc 18.43MHz, 1/18430000 * 64 = 3.473us Enable Timer1 On Timer1 Impulsuj 'ISR[/syntax] a potem mam procedurę przerwania której zadaniem testowym jest wygenerować przebieg prostokątny: [syntax=vbnet]'---------------------ISR....

    Mikrokontrolery AVR   18 Kwi 2018 12:40 Odpowiedzi: 5    Wyświetleń: 810
  • REKLAMA
  • [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ń: 2491
  • [ATmega8] [ATmega8][C] - Przeróbka kodu z ATmega328 na ATmega8, Timer0 na Timer2, LCD pusty

    Próbuję przerobić przykład "Przyklady\LCDAlfa\LCDAlfa-transact-int\... z książki [url=http://helion.pl/ksiazki/jezyk-c-dl...

    Mikrokontrolery AVR   03 Sty 2016 19:19 Odpowiedzi: 2    Wyświetleń: 954
  • [AVR][Atmega328]Przerwania w trybie asynchronicznym

    Mam problem z przerwaniem w trybie asynchronicznym - Amtega328. Załączam program uproszczony do niezbędnych elementów: [syntax=c]//co 0.5s ISR(TIMER2_OVF_vect) { ... _delay_us(30); //V1 //while(TIFR2 & (1<<TOV2)); //V2 //while(TIFR2 & (1<<TOV2)) _delay_us(1);//V3 //while(TIFR2 & (1<<TOV2)) TIFR2 |=1<<TOV2;//V4 //cli();...

    Mikrokontrolery   13 Lis 2020 17:29 Odpowiedzi: 4    Wyświetleń: 363
  • AVR - Generowanie PWM na Atmega 328p z timerami 8 i 16 bitowymi - problem z sygnałem

    Witam, napotkałem problem dotyczący generowania od dwóch do czterech sygnałów PWM na dwóch timerach - 8 i 16 bitowym. Posiadam Atmegę 328p z kwarcem 16 Mhz. Timer 8 bitowy ma generować przerwanie z czestotliwością 800 Hz (po 200 Hz na kanał, przy obsłudze czterech kanałów.). Timer 16 bitowy ma generować przerwanie by w efekcie PWM miał szerokość od...

    Mikrokontrolery AVR   20 Sty 2017 18:31 Odpowiedzi: 10    Wyświetleń: 1245
  • [atmega8] [atmega8][C] Timer 2 przerwanie co 1ms, nie działa odmierzanie 1 sekundy

    Zadaniem programu ma być odmierzenie 1 sekundy (zmiana stanu na wy). Przerwanie od timera 2 przychodzi co 1ms. Kwarc zewnętrzny ~11MHz. Czy ktoś mógłby napisać dlaczego program nie działa? #include<avr/io.h> #include <avr/interrupt.h> int i=0; int main(void) { DDRC = 0b00001000; TCCR2=_BV(CS22); TIMSK = _BV(TOIE2);...

    Mikrokontrolery AVR   13 Cze 2010 07:44 Odpowiedzi: 3    Wyświetleń: 1787
  • Atmega328 - Jak zmierzyć czas trwania impulsu wtrysku samochodowego?

    Wzorowałem się na przykładzie z sieci. Czy poniższy kod wygląda ok? Póki co nie mam jak sprawdzić na biurku, jedynie widzę, że krótkie połączenia pinu do masy pokazują mi na LCD pewno wartości i przeważnie zaraz się zerują(czasami zostaje jakaś wartość). [syntax=c] //************** ICP PRZERWANIE TIMER1 *************************************** ISR(TIMER1_CAPT_vect)...

    Mikrokontrolery AVR   25 Sie 2016 09:37 Odpowiedzi: 8    Wyświetleń: 2031
  • [ASM][TIMER1] Dziwnie działa na początku, potem normalnie

    Witam Zacząłem sprawdzać przerwanie TIMER1 w trybie przepełnienia. Na symulatorze program normalnie działa jednak w rzeczywistości inaczej. .include "m8def.inc" .equ przyciski = portc .equ in_przyciski = ddrc .equ wyjscie1 = portb .equ out_wyjscie1 = ddrb .equ wyjscie2 = portd .equ out_wyjscie2 = ddrd .equ wys0 = portd0 .equ wys1 = portd1...

    Mikrokontrolery AVR   03 Paź 2009 15:07 Odpowiedzi: 2    Wyświetleń: 1103
  • [bascom] atmega8 wykorzystane 3 liczniki, timer2 zakłóca PWM

    Witam, $regfile = "m8def.dat" $crystal = 8000000 Config Pinb.1 = Output Config Pind.1 = Output Config Timer2 = Timer , Prescale = 128 Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Compare B Pwm = Disconnect , Prescale = 8 Cls Cursor Off Portd.0 = 1 Portd.1 = 0 Set Portd.4 On Timer2 Czas1s Dim Licz8ms As Byte Dim Wartoscpwm As...

    Mikrokontrolery   18 Maj 2011 08:48 Odpowiedzi: 2    Wyświetleń: 2531
  • GCC, ATMega8 (8MHz), Timer1 i problem z odliczanie 1s

    Witam Mam jakiś błąd w programie ale nie mogę dojść gdzie. Przed mian'em mam obsługę przerwania dla SIG_OUTPUT_COMPARE1A która teoretycznie powinna się wywoływać co 1s. Timer1 ustawiony w tryb compare na preskalerze 256, ustawienia timera są na początku maina. SIGNAL(SIG_OUTPUT_COMPARE1A) // sygnal porownania od timera 1A { sec++; sec%=60;...

    Mikrokontrolery   07 Cze 2007 21:06 Odpowiedzi: 12    Wyświetleń: 3352
  • atmega8 - przerwania od timer0 i timer1 nie działają razem

    Mam taki problem: chcę w programie wykorzystywać przerwania od przepełnienia dwóch timerów (0 i 1). W timer0 mam obsługę wyśw. LED i opóźnienie dla klawiatury a w timer1, z założenia wywoływanym co 100ms, coś jakby zegar z minutami i sekundami, choć nie jest to najważniejsze bo to program testowy. Problem w tym, że przerwanie od timer1 wcale się nie...

    Mikrokontrolery AVR   28 Lis 2009 22:30 Odpowiedzi: 2    Wyświetleń: 2645
  • atmega8[C] - Niedziałające przerwania od przepelnienia licznikow T0 i T1

    Witam, Mam problem z obsluga przerwan od przepelnienia licznikow. W projekcie wykorzystuje 3 liczniki w atmega8, timer2 wykorzystuje do generacji sygnalu 40kHz natomiast pozostale dwa maja zliczac czas od nadania sygnalu do otrzymania echa. Narazie napisalem osobną obsluge kazdego z timerow i dzialalo. Po wrzuceniu wszystkiego do jednego projektu dziala...

    Mikrokontrolery AVR   09 Lis 2012 19:40 Odpowiedzi: 4    Wyświetleń: 1410
  • Konfiguracja timera TCB0 w ATtiny3216 dla cyklicznego przerwania 100Hz

    Witajcie, Chciałem uruchomić cykliczne przerwanie (100Hz) od timera TB0 i robię coś nie tak, bo przerwanie nie jest wyzwalane. Mikrokontroler taktowany wewnętrznym RC 2.66MHz. Konfiguracja Timera: [syntax=c] TCB0_CCMP = 26666; //100Hz TCB0_CTRLA = TCB_CLKSEL_CLKDIV1_gc|TCB_ENABLE_bm; //2.66MHz TCB0_CTRLB = TCB_CNTMODE_INT_gc; //Periodic Interrupt TCB0_INTCTRL...

    Mikrokontrolery AVR   15 Paź 2021 14:02 Odpowiedzi: 14    Wyświetleń: 570
  • Obsługa PS/2 w ATMega328 - problem z odczytem stanu klawiatury

    Chciałbym zrobić symulację naciśnięć klawiszy na klawiaturze PS/2 wykorzystując ATMega328 z rezonatorem kwarcowym 16MHz i interfejs PS/2 na USB. Posiłkowałem się tym opisem PS/2. https://www.avrfreaks.net/sites/default/... Z opisu wynika, że urządzenie PS/2 (wspomniana klawiatura) musi być w każdej chwili przygotowane do odbioru...

    Mikrokontrolery AVR   28 Kwi 2019 17:56 Odpowiedzi: 1    Wyświetleń: 642
  • [C] Jak uzyskać przerwania co 50 ms na ATMEGA328 z Arduino?

    Witam Potrzebuję podpiąć się pod zegar sterujący PWM arduino aby uzyskać przerwania co 50 do 100ms czyli co np 50 ms nastąpiło by przerwanie i wywołanie odpowiedniej funkcji. Niestety nie potrafię tego kodu co znalazłem w internecie rozgryść czy ktoś mógłby mi wyciągnąć z poniższego kodu co jest niezbędne do zrealizowania tego i wytłumaczyć co z czym...

    Arduino   30 Maj 2013 20:09 Odpowiedzi: 7    Wyświetleń: 4380
  • Atmega328 - Przerobienie biblioteki rc5 Atmega8 -> Atmega328

    Witam wszystkich, robię mały projekt do którego używałem Atmegę8. Zaczyna mi brakować pamięci więc stwierdziłem, że wymienię ją na Atmegę328. Niestety jest trochę zabawy z przerobieniem kodu, po pierwsze w Atmega328 nie można używać PD0 itp, tylko PORTD0. Po drugie timery ustawia się innymi rejestrami. Ogólnie program sobie przerobiłem, niestety została...

    Mikrokontrolery AVR   09 Maj 2016 14:47 Odpowiedzi: 6    Wyświetleń: 3228
  • [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ń: 2295
  • [Atmega328] Atmega328 i DS18b20 - odczyt temperatury pokazuje -0.1, co sprawdzić w kodzie?

    Witam. Koledzy niby prosty układzik między innymi z czujnikiem temperatury DS18b20. Nijak nie mogę uruchomić tego czujnika. Sprawdziłem wszystko pod kątem połączeń zwarć i zimnych lutów. Ba nawet czujnik podmieniałem i nadal temperatura odczytana z czujnika to -0.1. Wiem że mam jakiegoś babola w programie którego nie widzę. Jak znam życie to jakiś banał...

    Mikrokontrolery AVR   17 Sty 2014 10:11 Odpowiedzi: 4    Wyświetleń: 2067
  • Arduino R4 WiFi i Multi Function Shield - portujemy bibliotekę na R4, FspTimer

    https://obrazki.elektroda.pl/7400017800_... Dzisiaj przedstawię proces portowania biblioteki obsługującej MultiFunctionShield na Arduino R4 oraz krótko zademonstruję jej możliwości, czyli wyświetlanie danych na 7-segmentowym, 4-cyfrowym wyświetlaczu oraz kontrolę klawiatury i buzzera. Przy okazji też zobaczymy jak można zrealizować...

    Artykuły   21 Sie 2023 20:36 Odpowiedzi: 0    Wyświetleń: 3111
  • [Atmega328] Atmega328 Timer2 - Zapis na SD co 2 minuty działa zbyt szybko

    ustaw timer = 6 w podprogramie obsługi przerwania bo tam jest on wywoływany " co przerwanie"

    Mikrokontrolery AVR   01 Gru 2011 15:00 Odpowiedzi: 26    Wyświetleń: 2282
  • Cykliczne załączanie PWM w ATTiny2313A/ATMega328P

    skonfigurować timer aby wygenerował przerwanie po X czasu.

    Mikrokontrolery AVR   20 Gru 2019 22:11 Odpowiedzi: 19    Wyświetleń: 897
  • 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ń: 1134
  • [Atmega328][c] - sterowanie serwerm, timer 8-bitowy

    Ograniczeń sprzętu się nie pzeskoczy. Tylko jak już robić to programowo to można dla wszystkich trzech serw, kod taki sam, a zostaje jeden timer więcej. Ale powstaje problem pod postacią jitteru wejścia w przerwanie, jeśli mikrokontroler wykorzystuje jeszcze inne przerwania. Ponieważ ATMega ma jednopoziomowy system przerwań zrobi się bałagan. A może...

    Mikrokontrolery   07 Wrz 2014 18:44 Odpowiedzi: 2    Wyświetleń: 837
  • [Atmega328P][C] - Obsługa przycisków z wykorzystaniem timerów

    Koncepcję mam taką: - ustawiam jeden timer żeby generował przerwanie co 20ms i w tym przerwaniu zwiekszam zmienną typu unsigned int o 1. Czyli przy wykonaniu 50 takich przerwaniń mam okres 1 sekundu. Zmienna niech będzie c. - w momencie wykrycia zamiany stanu przycisku np. B0 ustawiam zmienną określająca timer dla tego portu na wartość c+TIMEOUT, gdzie...

    Mikrokontrolery AVR   16 Sie 2012 11:12 Odpowiedzi: 15    Wyświetleń: 1686
  • [atmega328p] [atmega328p][c] Timer0 - dioda nie miga, ustawienia 8MHz, kod nie działa

    Przepraszam, że odkopuję temat ale mam problem właśnie z timerem 0 w atmedze 328p i jak bym miał zakładać nowy temat to nazwał bym go prawie tak samo jak ten więc wolałem napisać w już istniejącym temacie. Chcę sprawdzić działanie 8-bit Timer/Counter0 w ATmega328P. Efekt do uzyskania prosty. Ustawiam pin C5 jako wyjście (na początku stan niski) i przy...

    Mikrokontrolery AVR   11 Sie 2014 23:33 Odpowiedzi: 7    Wyświetleń: 3858
  • [atmega328] [atmega328][bascom] Sterowanie PWM2 dla OC2A i OC2B bez ICR2, ICR2H, ICR2L

    Co myślisz o tym żeby użyć tylko jeden Timer? [youtube]https://www.youtube.com/watch?v... [syntax=basic4gl]$regfile = "attiny2313.dat" $crystal = 16000000 '*** Timer0 Config for 500Hz Interrupt CTC Mode *** Config Timer0 = Timer , Prescale = 256 , Compare A = Disconnect , Compare B = Disconnect , Clear Timer = 1 Enable Compare0a :...

    Mikrokontrolery AVR   12 Kwi 2015 17:22 Odpowiedzi: 11    Wyświetleń: 1704
  • Jak skonfigurować timery w Arduino Nano (ATmega328P) do miernika częstotliwości?

    Przyznam że ja wprowadziłem Was w błąd opisując program z linku który wkleiłem. Autor tegoż projektu nie użył preskalera w timer0 (coś mi się zwidziało) tylko timer0 jako licznika który zlicza impulsy do 256 (bo więcej chyba nie może) po czym następuje przepełnienie i przerwanie i jego obsługa w której zliczana jest ilość przepełnień która z kolei mnożona...

    Mikrokontrolery Początkujący   29 Sie 2016 12:00 Odpowiedzi: 7    Wyświetleń: 2445
  • [AVR ATmega328][C] - przetwornik adc, wpływ obciążenia

    Witam, mam "dziwny" problem z uC atmega328P. mam układ zbudowany z lcd na HD44780, czujnika temp lm35dz oraz diody led. Układ zachowuje się w dziwny sposób. Program wygląda tak : [syntax=c] //czytanie przetwrnika adc // zamiana na zmienna temp która ma postać bez przecnika, np. dla temp 23,5 jest 235 if(temp>250) LCD_WriteText("A"); mruganie_diody=0...

    Mikrokontrolery Początkujący   22 Gru 2014 14:44 Odpowiedzi: 32    Wyświetleń: 3945
  • [Atmega328p] [Atmega328p][c] - Przerwanie zewnętrzne na INT1 wywoływane zboczem narastającym

    Jeśli urządzenie działa tak jak chce autor, to każdy sposób wykorzystania przerwania zewnętrznego jest prawidłowy. W niektórych przypadkach podłączenie przycisku pod pin przerwania zewnętrznego jest niezbędne np. by wybudzić mikrokontroler z trybu Power Down lub Standby. Czasami nie ma po prostu innego wyjścia, ze względu specyficzne wykorzystanie...

    Mikrokontrolery AVR   26 Lis 2016 16:04 Odpowiedzi: 28    Wyświetleń: 2454
  • ATmega328PB + PCINT od dwóch enkoderów - gubi impulsy enkoderów

    Pytanie, czy da się ustawić przerwanie od obu zboczy dla wybranych pinów? Bo alternatywą jest przerwanie od timera z wystarczającą (czyli dużą) częstotliwością.

    Programowanie   19 Lis 2021 10:42 Odpowiedzi: 25    Wyświetleń: 636
  • Pobieranie plików z serwera przez SIM868 do Optiboot na Atmega328PB

    "...\avr-objcopy.exe" -O ihex -R .eeprom... Zrobiłem to w automacie, ale spotkało mnie coś o czym wspomniał bart-projects tzn: Hex na PC`cie zajmuje mniej miejsca niż Bin bo w Bin albo cały obraz pamięci no i gdy nie miałem parametrów z "-R" to mój wsad dla małego procesora miał...

    Mikrokontrolery AVR   02 Sie 2022 12:28 Odpowiedzi: 20    Wyświetleń: 1530
  • Atmega328P - Timer2 w trybie asynchronicznym nie wybudza co 1s, jak to naprawić?

    Chciałbym aby timer2 (tryb asynchroniczny) wybudzał mikrokontroler co 1s i zmieniał stan na pinie. Niestety z jakiegoś powodu mikrokontroler nie zostaje wybudzony, a wchodzi w stan uśpienia na pewno ponieważ pobór prądu spada do ok. 1uA [syntax=c] #include <avr/io.h> #include <avr/interrupt.h> #include <avr/sleep.h> void RTCInit(void){...

    Mikrokontrolery Początkujący   16 Gru 2013 23:19 Odpowiedzi: 14    Wyświetleń: 1827
  • [Atmega328p] [C] - Żle odmierzana czas, zła konfiguracja timera?

    Witam. Mam układ 3 grzałek połączonych w trójkąt do 3-fazowej sieci, każdy triak jest włączany optotriakiem, podłączonym do pinów wyjściowych expandera. Pomiędzy wszystkie 3 fazy podpięte mam detektory przejścia przez 0 ( http://obrazki.elektroda.pl/1004320500_1... do odmierzania czasu wykorzystuję timer1. Wartość OCR1A obliczam ze wzoru...

    Mikrokontrolery AVR   27 Lip 2015 15:16 Odpowiedzi: 14    Wyświetleń: 3336
  • ATMEGA328P - HC-sr04: Timer nie zmienia wartości przy zmianie odległości

    Zrobiłem kod z przerwaniem i również nie działa tak jak powinien [syntax=c]#include <avr/io.h> #include <util/delay.h> #include<stdio.h> #include<hd44780.c> #include<avr/interrupt.h> #define TRIG PC1 #define ECHO PD2 volatile int echo_flag =0; volatile int time =0; char ekran[6]; int main(){ DDRD = 0x00; // ustawienie portu...

    Mikrokontrolery AVR   10 Kwi 2017 04:56 Odpowiedzi: 3    Wyświetleń: 945
  • [BASCOM] Jak mierzyć napięcie (0-5.5V) i prąd (0-2.5A) na ATmega328 w BASCOM?

    Hej, Potrzebuję pomocy w opanowaniu pomiaru: napięcia (3x) i prądu (rezystor 0.1om) Ciągle wychodzą mi głupoty i nie wiem gdzie popełniam błąd. Chciałbym mierzyć napięcie 0-5.5V i prąd 0-2.5A Na początek schemat (ze schematu wykroiłem co zbędne) i kod (tu tylko to co potrzeba do pomiarów) aby było wiadomo o czym gadam ;) https://obrazki.elektroda.pl/4328627700_...

    Mikrokontrolery AVR   02 Cze 2018 06:56 Odpowiedzi: 12    Wyświetleń: 1380
  • [Atmega8][bascom] timer2 CTC generuje przerwanie tylko raz

    Bascom nie wykonuje dwóch działań arytm. lub instrukcji w jednej lini. Wiem to, wskaż w którym miejscu próbowałem coś takiego zrobić. Chodzi o last=last+getadc(1) ? Instrukcja wykonuje się poprawnie. Wyglada że chcesz mi wmówic, że wprowadziłem cię w błąd. Nie, po prostu stwierdzam, że po wprowadzeniu zmian nadal nie działa tak jak bym chciał. To wyjaw...

    Mikrokontrolery AVR   01 Lis 2018 13:41 Odpowiedzi: 10    Wyświetleń: 861
  • Framework AVR GCC do tablicowego sterowania pinami Atmegi jak w Arduino

    Jak w czystym C (AVR GCC) wyglądała by funkcja millis() ?, a może pokaż też 2 podejście (listing), gdzie milisekundy to zmienna globalna np millis. Wykorzystaj timer do przerwać dostępny na każdym AVR. W AVR GCC, funkcja podobna do `millis()` z Arduino, która zwraca liczbę milisekund od startu programu, może być zaimplementowana z wykorzystaniem timera...

    Mikrokontrolery Początkujący   07 Lut 2024 13:34 Odpowiedzi: 71    Wyświetleń: 1068
  • Atmega328p: Zmiana szybkości transferu w Bascom AVR przy 4MHz

    Procedura zmiany preskalera taktowania jądra jest sprawdzona przez ustawienie Timera na przerwanie co 1 sek, więc tego jestem pewien. Nie wiem po co niektórzy wypowiadają się błędnie na temat $crystal. $crystal jest punktem odniesienia dla kompilatora w celu przeliczenia i dobrania ustawień. Dalej nie wiem dlaczego kompilator wymusza błędnie U2X0. PS...

    Mikrokontrolery AVR   07 Gru 2013 11:13 Odpowiedzi: 28    Wyświetleń: 3294
  • atmega328p - różnice w zliczaniu impulsów na int0

    1. Optotranzystor podłączony przez opornik po stronie wtórnej transformatora sieciowego http://obrazki.elektroda.pl/7212953500_1... 2. OK, dzięki 3. Doskonale zdaję sobie sprawę, że w przerwaniu ma być "szybko i krótko" i właśnie dlatego chciałbym aby przerwanie wyglądało tak jak w tym drugim kodzie ( paradoksalnie - przy kodzie gdzie...

    Mikrokontrolery AVR   05 Maj 2015 17:09 Odpowiedzi: 7    Wyświetleń: 1215
  • 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ń: 1425
  • Błędny odczyt czasu z DS1302 i temperatury z DS18B20 na atmega328

    Witam Zrobiłem sobie układ, który ma na wyświetlaczu wyświetlać godzinę oraz temperaturę wody. Samą obsługę wyświetlacza jakoś udało mi się ogarnąć, natomiast mam problem przy odczycie temperatury z czujników oraz czasu z ds1302. Na początku ustawiam sobie godzinę 10:40 i to wyświetla się poprawnie, ale jak idzie odczyt z ds1302 to wyświetla mi się...

    Początkujący Elektronicy   11 Wrz 2018 18:45 Odpowiedzi: 15    Wyświetleń: 753
  • 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ń: 429
  • [Atmega328] [Atmega328][C][PWM] - Jak poprawić jakość dźwięku .wav z karty SD?

    Poza (jakże słusznymi) konkluzjami kolegi d.d, oglądam sobie ten kod i ... W zależności z której tablicy(iChooseBuff) korzysta teraz przerwanie to z tej bierze informacje. Jeśli osiągnie koniec tablicy to pętla główna ładuje nowe info do tablicy nr 1, a przerwanie w tym czasie zczytuje info z drugiej tablicy, i na odwrót. Możliwe, że jest to przerost...

    Mikrokontrolery   12 Wrz 2013 19:47 Odpowiedzi: 13    Wyświetleń: 3423
  • Atmega328 i Bascom - Czy poprawnie obsługuję 7 czujników DS18B20 na jednej linii?

    Co do rezygnacji z Waitms 750, to miałem kiedyś taki pomysł: - przerwanie od Timer0 wywołuje [syntax=basic4gl] 1wreset 1wwrite &HCC 1wwrite &H44 [/syntax] reset licznika reset flagi - przerwanie od Timer0 wywołuje [syntax=basic4gl] '*************** Czujnik 1 1wreset 1wverify Dsid1(1) Ds1_brak = Err Rfm_tab(6) = Ds1_brak 1wwrite &HBE Rfm_tab(8) = 1wread()...

    Mikrokontrolery Początkujący   28 Cze 2013 10:36 Odpowiedzi: 10    Wyświetleń: 2607
  • 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ń: 1491
  • [ATMEGA328p-pu] - Nieprawidłowy pomiar ADC w programie BLDC_mega328p

    Funkcja DZIAŁA [syntax=cpp]//Data utworzenie: 20-09-2014 #include <avr/io.h> #include <util/delay.h> #include <stdlib.h> #include <avr/pgmspace.h> #include "MYUART/myuart.h" #include "MK_TERMINAL/mk_term.h" #define REF_256 (1<<REFS1)|(1<<REFS0) #define REF_VCC (0<<REFS1)|(1<<REFS0) #define SR 8 typedef...

    Mikrokontrolery AVR   23 Lis 2014 17:44 Odpowiedzi: 17    Wyświetleń: 2052
  • [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ń: 2574
  • 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ń: 1497
  • [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ń: 1515