timsk overflow

Znaleziono około 338 wyników dla: timsk overflow
  • ATmega8: Dioda na porcie B nie działa po naciśnięciu przycisku na porcie D

    Nie sprawdzałem wcześniej bo uwierzyłem ci na słowo, że sprawdziłeś rejestry ATMega8. W rejestrze TIMSK przerwanie overflow dla timera0 to TOIE0 ale jest to bit 0 a nie 1. W związku z tym inicjacja powinna wyglądać tak: TIMSK=0x01 lub jak wspomniałem wcześniej zdefiniować bit TOIE0: #define TOIE0 0 wtedy zadziała TIMSK=(1<<TOIE0) Bardzo polecam...

    Mikrokontrolery   02 Lis 2007 00:57 Odpowiedzi: 12    Wyświetleń: 2159
  • REKLAMA
  • [AT90USB1287] Jak napisać prosty program z timerem w asm dla AT90USB1287?

    Programuję w ASM ale tylko Atmega8/16 więc wklejam ci taki przykład: [syntax=asm] .CSEG .org 0x0000 //poczatek deklaracji skokow dla przerwan rjmp _poczatek reti reti reti reti reti reti reti reti rjmp _150_timer0 //przerwanie overflow timer0 reti reti reti reti reti reti reti reti reti _poczatek: in r16, TIMSK//timer0 overflow interrupt enable ori...

    Mikrokontrolery AVR   16 Kwi 2012 21:09 Odpowiedzi: 2    Wyświetleń: 1371
  • Nie znalazłeś odpowiedzi? Zadaj pytanie Sztucznej Inteligencji

    Czekaj (1min)...
  • [C] Atmega32 Timer0 CTC – dioda nie zapala się w przerwaniu, kod nie działa

    #include<avr/io.h> #include <avr/interrupt.h> #define F_CPU 1000000 int main(void) { TCCR0 = 0x05; //(1 << CS02) | (1 << CS00); prescaler na 1024 TIFR |= (1 << TOV0); TIMSK |= (1 << TOIE0); // aktywne przerwanie overflow // timer_enable_int(_BV(TOIE1)&...

    Mikrokontrolery   07 Mar 2011 09:24 Odpowiedzi: 8    Wyświetleń: 1997
  • Konfiguracja przerwań i timera w Atmega32-poprawność kodu ?

    Witam. Chciałbym prosić o pomoc. Czy ten kod jest poprawny. Program działa bez zarzutów. Natomiast, gdy włączę przerwanie"sei". Układ się zawiesza. [syntax=c]void init_Ex1() { // Timer clock = I/O clock / 1024 TCCR0 |= (1<<CS02)|(1<<CS00); // Clear overflow flag TIFR |= (1<<TOV0); // Enable Overflow Interrupt TIMSK |= (1<<TOIE0);...

    Mikrokontrolery   02 Gru 2024 11:59 Odpowiedzi: 3    Wyświetleń: 219
  • ATmega32, [C], CTC - brak reakcji na program [ROZWIAZANE]

    Tutaj druga instrukcja anuluje pierwszą. Zrób to w jednej instrukcji lub w drugiej użyj operatora |= Poza tym nie ma bitow CS02 i CS00 w rejestrze TCCR1B. Wprawdzie są w rejestrze TCCR0 i mają takie same pozycje, więc kod ma szansę działać, ale jakoś źle się na to patrzy :) To jest zezwolenie na przerwanie od timer overflow. Zezwolenie na przerwanie...

    Mikrokontrolery AVR   13 Lip 2016 10:11 Odpowiedzi: 2    Wyświetleń: 1059
  • REKLAMA
  • Jak zrealizować detekcję zbliżenia ręki z TSOP1736 na ATmega 8L?

    Witam... Generalnie rzecz biorąc procedury opóźnienia czasowego nie nadają się do modulowania diody IR... Częstotliwość nie jest zbyt stabilna to raz... Dwa nie uzyskasz 36kHz musisz skorzystać z dobrodziejstw timera... Np. tak... #include<avr/io.h> #include <avr/interrupt.h> #include <avr/signal.h> #include <inttypes.h> int...

    Mikrokontrolery   03 Sie 2005 13:34 Odpowiedzi: 3    Wyświetleń: 1776
  • [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
  • REKLAMA
  • [ATMEGA8][BASCOM] - Zliczanie czasu pracy Atmegi / RTC

    Po małych zmianach działam na czymś takim. Pomimo taktowania z wewnętrznego kwarcu nie widać efektu. Jakiegokolwiek. [syntax=c]/* * RealTimeClock.c * * Created: 2013-11-17 01:46:48 * Author: Piotr Pabian */ #include <avr/io.h> #include <avr/interrupt.h> void init_RTC(void) { //ASSR = 1<<AS2; //Enable asynchronous mode TCCR2 = (1<<CS22)|(1<<CS21)|(1<&l...

    Mikrokontrolery Początkujący   04 Lip 2018 15:13 Odpowiedzi: 20    Wyświetleń: 3762
  • [Atmega32] Jak skonfigurować dwa 8-bitowe timery w Atmega32 do różnych zadań?

    Tu uruchamiasz timer0 z preskalerem ... [syntax=c] //######## konfiguracja timera1 ############## TIMSK |= (1<<TOIE0); //Przerwanie overflow (przepełnienie timera) TCCR0 |= (1<<CS02) | (1<<CS00); // źródłem CLK, preskaler 1024 TCNT0 = timer_start;// //Początkowa wartość licznika //######################################... [/syntax]...

    Mikrokontrolery AVR   06 Lis 2011 00:27 Odpowiedzi: 1    Wyświetleń: 1229
  • 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ń: 1008
  • ATTiny2313 - Konfiguracja Timer0 w C do migania diodą LED bez użycia Delay

    Pusty blok jest dlatego, że utknąłem na konfiguracji Timer0. Jeśli chodzi o rejestry, to podejrzewałem, że jest tak, jak Kolega pisze. Wartość TCNT0 = 6; trzeba będzie wpisać do przerwania Timera Przy ustawieniach: [syntax=c] TCCR0A = (1 << CS01)|(CS00); // źródłem CLK, preskaler 64 TIMSK = (1<<TOIE0); //Przerwanie overflow (przepełnienie...

    Mikrokontrolery Początkujący   05 Lis 2015 15:45 Odpowiedzi: 47    Wyświetleń: 3003
  • Dekodowanie ramek stacji pogodowej hyundai 3080r wind

    Udało się. Faktycznie nieprawidłowo odczytywałem bity. Wstawiam poprawiony program który wysyła na uart binarkę tego co przechwyci, raczej tego programu nie będę rozwijał gdyż domyślnie i tak ma to być podłączone do esp, jednakże za pomocą wzorów ze strony którą linkował (at)stomat można bez problemu sprawdzić i wyliczyć to co aktualnie jest wysłane...

    Projektowanie i Tworzenie Po godzinach   26 Kwi 2021 08:15 Odpowiedzi: 7    Wyświetleń: 1362
  • sekwencyjne sterowanie led za pomocą mikrokontrolera

    Opisujesz kod inny niż wkleiłeś: [syntax=c]int main(void) { DDRD = 0xFF;//diody DDRC = 0xff;//przyciski //######## konfiguracja timera ############## TCCR0 |= (1<<CS02) | (1<<CS00); // źródłem CLK, preskaler 1024 TIMSK |= (1<<TOIE0); //Przerwanie overflow (przepełnienie timera) sei(); //Globalne uruchomienie przerwań while(1) { //...

    Mikrokontrolery AVR   14 Sty 2014 23:53 Odpowiedzi: 23    Wyświetleń: 2229
  • Schemat z Atmega16 i pytania odnośnie prograwania w C

    Do ustawiania jego parametrów służą dwa rejestry TCCR1A i TCCR1B, jeżeli ma chodzić jako zwykły tradycyjny timer to powinieneś tylko ustawić preskaler w rejestrze TCCR1B, w momencie ustawienia preskalera timer jest odpalany. W TCNT1 jest aktualna wartość licznika. Jeśli chcesz przerwanie od timera to w rejestrze TIMSK ustawiasz bit TOIE1(overflow),...

    Mikrokontrolery AVR   07 Kwi 2010 08:08 Odpowiedzi: 32    Wyświetleń: 4569
  • REKLAMA
  • [Atmega8] Jak zmierzyć czas stanu wejścia z dokładnością 100ms na Atmega8 w C?

    //timer 1 16bit konfiguracja (ICP1) TCNT1=0; //ustawienie poczatkowej wartosci timera 1 TCCR1B |= (1<<ICES1); //pomiar na narastajacym zboczu TIMSK |= (1<<TICIE1) | (1<<TOIE1); //zezwolenie na przerwanie od ICP i od overflow TCCR1B |= (1<<CS12) | (1<<CS10) ; //prescaler 1024...

    Mikrokontrolery AVR   06 Sie 2011 18:22 Odpowiedzi: 53    Wyświetleń: 7537
  • 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
  • Atmega16[C] brak reakcji na RC5 z uniwersalnego pilota, zmiany w Timer0

    główny plik wygląda tak #include<avr/io.h> #include<ścieżka do rc5.h> int main() { DDRD=0x00;;//Porty D jako wejścia DDRB=0xFF;//PORTYB jako wyjścia PORTB=0xFF;//portb w stan wysoki rc5_init(); sei(); while(1) { if(rc5data) { PORTB=0x00; } } } Dodano po 13 włożyłem wszystko...

    Mikrokontrolery AVR   15 Mar 2009 16:58 Odpowiedzi: 3    Wyświetleń: 2615
  • ATmega i pilot RC5. Po nakierowaniu pilota na czujnik nic nie jest wykrywane.

    Nie jestem autorem kodu, który zamieszczam. Kod znalazłem gdzieś na forum, jeżeli jego autor nie życzy sobie abym go udostępniał niech da mi znać. rc5.h http://www.roboternetz.de/wissen/images/... TSOP1736 podpinam tak jak na obrazku (tylko pod PD3 - INT1), rezystor 10k

    Mikrokontrolery   25 Maj 2006 00:22 Odpowiedzi: 7    Wyświetleń: 4951
  • Jak wysłać liczbę binarną na port PD w Atmega8 z WINAVR?

    proszę bardzo: #include <avr/io.h> #include <avr/interrupt.h> int liczba; SIGNAL (SIG_OVERFLOW0) { if(liczba++==675) { PORTC=~PORTC; liczba=0; } } int main( void ) { DDRC=0xFF; // port C jako wyjście PORTC=0x00;; // początkowy stan portu C - niski TCCR0=0x03; // prescaler 64 TCNT0=0x00; //...

    Mikrokontrolery   29 Paź 2006 22:03 Odpowiedzi: 11    Wyświetleń: 6092
  • Jak obliczyć wartość TCNT1 dla timera 100ms przy 8MHz i preskalerze 64?

    Witam Mam napisany taki kod do obsługi timera. Przerwanie ma być co 100ms kwarc mam 8MHz. Czy dobrze to jest? skąd się to 12500 wzięło jak mi wychodzi 8000000/64=125000? [syntax=c]TCCR1B = (0<<CS12)|(1<<CS11)|(1<&l... // CLK/64 TIMSK = (1 << TOIE1); // Timer/Counter1 Overflow Interrupt Enable TCNT1 = 0xffff - 12500; ISR(TIMER1_OVF_vect)...

    Mikrokontrolery AVR   15 Sie 2014 17:45 Odpowiedzi: 6    Wyświetleń: 1605
  • [ATmega8 i pilot RC5+LCD] ATmega8, pilot RC5 i LCD - problem z uruchomieniem układu w C

    Witam. Niestety mam problem z uruchomieniem tego układu korzystam z kodu LCD+ATMEGA8+Odbiornik+pilot #include <avr/io.h> #include <avr/interrupt.h> #include <avr/signal.h> #define RC5BitHigh() (bit_is_set(PIND,PD3)) #define RC5BitLow() (bit_is_clear(PIND,PD3)) #define WAITFORTIMER()...

    Mikrokontrolery AVR   04 Mar 2009 12:54 Odpowiedzi: 1    Wyświetleń: 2298
  • GCC, ATMega8 (8MHz), Timer1 i problem z odliczanie 1s

    Z tym |= i = juz kombinowałem i nic nie dało. Ja nie chce overflow dlatego mam OCR1A ustawione i używam trybu compare i wpisuje TIMSK = 0x10 żeby włączyć porównywanie z OCR1A.

    Mikrokontrolery   07 Cze 2007 21:06 Odpowiedzi: 12    Wyświetleń: 3334
  • Jak regulować czas migania diody w C za pomocą zmiennej w delay'u?

    Nie wiem czy to dobrze rozumiem. [syntax=c]#include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.h> void mydelay(uint16_t delay) { int f; for (f = 0; f<delay; f++) _delay_ms(1); } int main(void) { //########### I/O ########### DDRB |= (1<<PB0); DDRC &=~ (1<<PC5); DDRC &=~ (1<<PC4); PORTC =0xff;...

    Mikrokontrolery AVR   10 Kwi 2016 09:34 Odpowiedzi: 20    Wyświetleń: 2097
  • Jak zaktualizować kod AVR: outp, sbi, inp na nowoczesny zapis w C?

    hej mam problem win avr nie chce mi skompilowac linijek: 1). outp(0x03,TCCR0); // set prescaler to f/64 (172.8 kHz (at) 11.0592 MHz) 2). sbi(TIMSK,TOIE0); // enable interrupt on timer overflow 3). count += (count_hi << 8) + inp(TCNT0); // get counter value mianowicie przerabian program zapisany w starym zapisie na nowy i te linijki nie wiem jak...

    Mikrokontrolery   08 Paź 2006 19:42 Odpowiedzi: 3    Wyświetleń: 1436
  • [Atmega8][C] - Odczytywanie wartości napięcia na wejściu

    Rozpisuj to na zdefiniowane symbole bitów, bo by to sprawdzić musimy zerkać do datasheet: [syntax=c] TCCR1B=TCCR1B & 0xBF; TCCR1B=TCCR1B | 0x40; TCCR1B=0xC1; //enable overflow and input capture interrupts TIMSK=0x24;[/syntax] No i dodawaj komentarze byśmy wiedzieli, co chciałeś daną linijką kodu osiągnąć i móc to sprawdzić. I zaczerpnij wiedzy o volatile:...

    Mikrokontrolery AVR   29 Sie 2012 22:32 Odpowiedzi: 34    Wyświetleń: 6381
  • void C_task main(void) -> czy ktos z tym mial probemy??

    Ten kod jest napisany dla ATmega103 ( niedostępny już w handlu) a jego następca to ATmega128. Poniżej poprawki dla WinAVR ( ten kod był dla kompilatora IAR): 1. #include <iom103.h> #include <ina90.h> ma być #include <avr/io.h> #include <avr/signal.h> 2. type def struct{ ma być typedef struct{ 3. interrupt /**** A V R A P P L...

    Mikrokontrolery   18 Sty 2006 15:08 Odpowiedzi: 2    Wyświetleń: 1667
  • Jak zrozumieć kod dekodujący sygnał RC5 w AVR? Analiza i wyjaśnienia

    Założyłem ten temat, bo chciałbym (i prawdę mówiąc muszę) zrozumieć program znaleziony, nawet chyba u Was na forum, dekodujący sygnał rc5. Historia jest typowa: "projekt, którego nie chcę, a który muszę." Dzięki z góry za pomoc. Nie besztajcie mnie zbyt mocno. Wspomniany kod: #include <avr/io.h> #include <avr/interrupt.h> #include <avr/signal.h>...

    Mikrokontrolery AVR   10 Sty 2011 14:33 Odpowiedzi: 1    Wyświetleń: 1541
  • [C][ATMega8535] Jak zabrać się za obsługę przerwań?

    Więc nie dołączyłem żadnych kondensatorów. Czy słusznie? Słusznie. Zmieniłeś nową funkcję przerwania ISR() i jej wektor na stare (przestarzałe) SIGNAL(): http://www.nongnu.org/avr-libc/user-manu... Zmień na ISR(). Szczerze muszę przyznać że nie do końca wiem co ustawiłem w TIFR oraz TIMSK, znalazłem to w którymś z tematów...

    Mikrokontrolery Początkujący   26 Kwi 2012 20:12 Odpowiedzi: 6    Wyświetleń: 1505
  • Atmega8: Jak działa przerwanie z T0/T1 do zmiany stanu LED?

    Wszystko ladnie tlumaczycie tylko ze nie posilkowaliscie sie nota katalogowa i ten program nie bedzie dzialal. ldi r16,0b10000000 out TIMSK,r16 Jesli spojrzec do noty to siodmy bit w TIMSK to OCIE2, czyli nic nie ma wspolnego z T1 czy T0. Mowilem ze ten program jest ZUPELNIE nie czytelny. Na samym pczatku juz kicha jest: .org 0x0005 to wektor od Timer1...

    Mikrokontrolery   25 Wrz 2005 13:31 Odpowiedzi: 8    Wyświetleń: 2942
  • Atmega 8 - Licznik do14, Kod C jak wyzerować licznik pierwszym impulsem?

    Musiałbyś dodać zmienną, która będzie służyła do odmierzania czasu bez impulsów, tzw. "timeout". Jeśli przez okres ponad 10 s nie przyjdzie żaden impuls, to n=0. Wbrew pozorom, liczenie timeoutów najłatwiej zrealizować w przerwaniu :) Dodano po 1 fragmenty kodu: inicjalizacja przerwań (akurat dla Atmega32) [syntax=c] TCCR0 |= (1 << CS02); TIMSK...

    Mikrokontrolery Początkujący   26 Sty 2016 18:55 Odpowiedzi: 11    Wyświetleń: 1785
  • [ATmega128][C] Przypadkowe ustawienie wyjść mikrokontrolera

    Witam w swoim projekcie do sterowania silnikami krokowymi wykorzystuję joysticki potencjometryczne. By określić, w którą stronę został on wychylony mierzę napięcie na potencjometrze przetwarzając je w przetworniku analogowo cyfrowym. Silniki działają bez zarzutu, tak jak zakładałem. Problem występuje jedynie przy silniku numer 1. Dokładniej po załączeniu...

    Mikrokontrolery AVR   14 Gru 2009 09:33 Odpowiedzi: 11    Wyświetleń: 1825
  • Dlaczego przerwanie T0 w ATmega32 nie działa? Zmiana stanu diody w C

    Działający kod, dioda zmienia stan co sekundę. #include<avr/io.h> #include <avr/interrupt.h> #define F_CPU 1000000 char licznik = 0; //zmienna dla licznika programowego int main(void) { TCCR0 = 0x05; //(1 << CS02) | (1 << CS00); prescaler na 1024 TIFR |= (1 << TOV0); TIMSK |= (1 << TOIE0); // aktywne przerwanie overflow...

    Mikrokontrolery   18 Lip 2011 17:54 Odpowiedzi: 7    Wyświetleń: 981
  • Dlaczego przerwanie timera w ATmega8 nie działa? Dioda na PB1 nie świeci

    Hej, Spróbuj tego: #include<avr/io.h> #include <avr/interrupt.h> #include <avr/signal.h> #include <inttypes.h> #define F_CPU 1000000 unsigned int c=0, s=0; int main(void) { TCCR0 = 0x05; //(1 << CS02) | (1 << CS00); prescaler na 1024 // TIFR |= (1 << TOV0); TIMSK |= (1...

    Mikrokontrolery   21 Kwi 2005 20:07 Odpowiedzi: 18    Wyświetleń: 10037
  • Jak dodać warunki dla przycisków do programu PWM dla diody LED?

    Witam, naskrobałem taki program do rozjaśniania i ściemniania diody. Chciałbym dorzucić do niego warunek że jeżeli wcisnę przycisk 1 to dioda miga w jeden sposób a gdy wcisnę przycisk 2 to w inny. Tylko nie mam pojęcia gdzie wcisnąć taki warunek. Dokładniej miałoby to wyglądać tak że jeśli wcisnę przycisk 1 to dioda rozjaśnia się i gaśnie przez 10s...

    Mikrokontrolery Początkujący   28 Wrz 2012 13:26 Odpowiedzi: 2    Wyświetleń: 1167
  • Problem z kwarcem zegarkowym i obsługą przerwania

    zdefiniuj F_CPU w kodzie programu i zobacz czy to coś zmieni. Możliwe że nie masz włączonego zewnętrznego oscylatora tylko pracujesz na wewnętrznym (włącza się go fusbitem) Próbowałem definiować F_CPU również w kodzie programu, ale nie daje to pożądanych skutków, co do fusebitów to są poprawnie ustawione, ponieważ po odlutowaniu kwarcu układ przestaje...

    Mikrokontrolery AVR   12 Lis 2010 11:38 Odpowiedzi: 14    Wyświetleń: 2054
  • [Atmega32] Błąd w asemblerze przy obsłudze TV - jak naprawić?

    Atmega32 ma rejestr TIFR, czyli usuń "1". [syntax=asm]; Clear interrupts (if any happened). sbi _SFR_IO_ADDR(TIFR), OCF1A[/syntax] ; TIFR - Timer/Counter Interrupt Flag register .equTOV1= 2; Timer/Counter1 Overflow Flag .equOCF1B= 3; Output Compare Flag 1B .equOCF1A= 4; Output Compare Flag 1A .equICF1= 5; Input Capture Flag 1 edit. Jeszcze TIMSK zamiast...

    Mikrokontrolery AVR   23 Lut 2013 13:42 Odpowiedzi: 21    Wyświetleń: 3111
  • [ATmega16 C] ATmega16 C: Przerwania licznika, problem z wartością TCNT0 poniżej 218

    Witam. Pisze program sterujący pracą silników krokowych. Pisałem cały czas tak program by mieć konktrolę nad prędkością każdego z silników osobno (chodzi o to że silniki mają różne przekładnie a chce by wszytskie elementy poruszały się z tą samą prędkością obrotową więc prędkość ustala się raz w programie i się jej później nie zmienia) Zastosowałem...

    Mikrokontrolery AVR   26 Lis 2009 16:47 Odpowiedzi: 18    Wyświetleń: 2481
  • ATmega128: Timer0 z kwarcem zegarkowym w trybie asynchronicznym nie działa

    Troche długo mnie nie było ale miałem parę spraw na głowie. Co do tego Timera to ostatnio znów walczyłem i konfiguracja jest w porządku. Wina leży najprawdopodobniej gdzieś na płytce (bądź w procesorze), bo gdy podpiąłem kwarc do innej płytki z atmega128 to Timer działał bez zarzutu. Tak więc temat zamknięty. Dzięki wszystkim za pomoc! Pozdrawiam! P.S....

    Mikrokontrolery AVR   27 Lip 2009 10:56 Odpowiedzi: 7    Wyświetleń: 2315
  • Zegarek na LCD i atmega8 ,brak precyzji...i Timer'ów.

    Ciekawe, czytałem już te tematy. czy bez tego kwarca 32khz sie nie obejdzie? Jednak nie łapię tych timerów. Generalnie timer służy jako licznik przerwań :), wewnętrznych albo zewnętrznych na pinie TO, zewnętrzne przerwania widziane są z portu TO, a wewnętrzne przerwania generuje prescaler - wewnętrzny przerywacz "sterowany" kwarcem zewnętrznym lub...

    Mikrokontrolery   22 Wrz 2007 16:04 Odpowiedzi: 38    Wyświetleń: 5707
  • Częstotliwość generowania przerwań przez Timer1 Atmegi8

    Witam. Nie mogę dobrać parametrów timera tak by osiągnąć zadaną częstotliwość. Potrzebuje teraz osiągnąć by timer1 się przepełniał 10 razy na sekundę czyli co 100ms. Oto mój kod (jego kluczowe fragmenty): https://obrazki.elektroda.pl/3526196900_... Czyli mamy częstotliwość CPU 16MHZ. Dzielimy ją przez prescaler 64 i wychodzi 250kHz....

    Mikrokontrolery AVR   05 Maj 2019 05:44 Odpowiedzi: 9    Wyświetleń: 669
  • Atmega16: Sterowanie pompą impulsową 0-1.3Hz, czas impulsu 20ms, Timer2 CTC

    Witam ponownie pomijając poprzedni problem pojawił się nowy. Potrzebuje używać przerwań od przepełnienia dwóch timerów T0 i T2. Po ich skonfigurowaniu i włączeniu pojawia kłopot gdyż żaden nie chce zliczać, jeżeli używam ich pojedynczo to wszystko jest ok. Poniżej wstawiam część programu z konfiguracją timerów. TIFR |= (1 << TOV2)|(1...

    Mikrokontrolery   08 Lis 2012 22:52 Odpowiedzi: 5    Wyświetleń: 1368
  • ATmega32 - Konfiguracja Timera0 w trybie CTC w assemblerze nie działa

    wielkie dzieki za taki odzew :) niestety caly czas nie rozumiem jednej rzeczy zamieszczam plik zrodlowy w ktorym pomiedzy dyrektywa .ORG 0x00 a instr rjmp Reset znajduje sie instr nop. bez niej po wgraniu programu na kosc nic sie nie dzieje 8O .INCLUDE "m32def.inc" .CSEG .ORG 0x00 nop ; O CO CHODZI?!?!?! rjmp Reset .ORG OVF0addr rjmp Timer Timer: cpi...

    Mikrokontrolery   04 Paź 2004 21:11 Odpowiedzi: 11    Wyświetleń: 1403
  • TIMER0 AMTEGA8, zegar z datą na LCD, Poprawny kod?

    Witam Piszę ten post kwoli upewnienia się czy to co zrobiłem jest poprawne. Otóż potrzebuję wykonać zegar z datą na LCD + uC + kwarc 11.0592 MHz i do odmierzenia 1 sekundy użyłem poniższego fragmentu kodu w C: #include <avr/io.h> #include <avr/interrupt.h> int liczba; SIGNAL (SIG_OVERFLOW0) { if(liczba++==675) {...

    Mikrokontrolery   29 Paź 2006 15:39 Odpowiedzi: 12    Wyświetleń: 1883
  • [atmega8][C] - timer - zapalanie diody na 10s po przyciśnięciu przycisku.

    Po zaprogramowaniu timera w tryb CTC oraz skorzystaniu z porad, dioda zapala się lecz nie gaśnie po określonym czasie. Nie jestem pewny co źle zrobiłem, wykorzystanie innej zmiennej sprawiało że dioda w ogóle się nie zapala. Prawdopodobnie źle zaprogramowałem timer, a jako że info na timer timera CTC z przerwaniem znalazłem tylko po angielsku więc bardzo...

    Mikrokontrolery AVR   10 Wrz 2013 18:59 Odpowiedzi: 15    Wyświetleń: 3900
  • [ATmega128][C]przerwania nie wracają, reset uC: fuse M103C

    Witam mam kolejny problem z nieszczęsną atmega128. Napisałem program który działał na ATmega16 i chciałem go przenieść do atmega128 no i jest problem. Program w ogóle nie działa. W przerwaniu powinny się zwiększać wartości zmiennych. Niestety chyba nie zwiększają się :/ program wchodzi do przerwania bo wstawiłem tam naprzemienne ustawianie i kasowanie...

    Mikrokontrolery AVR   08 Gru 2009 21:36 Odpowiedzi: 11    Wyświetleń: 2826
  • Za mała częstotliwość fali nośnej (przebiegu trójkątnego) ATMEGA16

    dziękuję dondu Twoje wskazówki pomogły i o jakieś 0,5kHz zaczął szybciej generować przebieg. Jednak to i tak jeszcze mnie nie ratuje. Poniżej podaję program główny: [syntax=c]// program główny int main(void) { DDR_AD=0x00; // Port jako wejścia analogowe i cyfrowe PORT_AD=0x00; // Wejścia z podciąganiem DDRB=0xFF; //wyjscia DDRC=0xFF; //wyjscia na zakres...

    Mikrokontrolery AVR   27 Lut 2012 23:33 Odpowiedzi: 23    Wyświetleń: 2993
  • Przeniesienie kodu SPWM z Arduino UNO (ATmega328P) na ATTiny85A – kompatybilność

    Po niewielkich zmianach powinno działać też na Attiny85. Wrzucam kod dla Attiny85 (nie testowany; nie mam jak): [syntax=c]//############################... // SPWM implementation for Attiny85 // Clock frequency 8MHz internal clock oscillator // High Fuse: 0xFF, Low Fuse: 0xE2 // // Signals generated: // - SPWM...

    Arduino   20 Lip 2022 05:51 Odpowiedzi: 25    Wyświetleń: 879
  • 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ń: 927
  • [C] Atmega16 Timer0 - Przerwanie co 1s opóźnia się o 1,5s na minutę, dlaczego?

    Witam! Chcąc dodać zegar do mojego projektu musiałem wygenerować przerwanie, które dodawałoby 1 do zmiennej co 1s. napisałem programik jak poniżej, lecz niestety zliczając późni się o około 1/1,5s na minute... ktos wie gdzie robię błąd? gdzieś się pomyliłem? http://obrazki.elektroda.pl/9649052700_1... Preskaler ustawiony na 64, czyli...

    Mikrokontrolery AVR   12 Wrz 2012 18:12 Odpowiedzi: 11    Wyświetleń: 1212
  • Kod C dla ATmega8 do regulatora modelarskiego - brak reakcji urządzenia

    No to próbuję: [syntax=c] //* \section OA Original author //* Andy Gayne is the original author of this application note. //*/ //program z noty Atmela 136 //przerobiony na ATMega8, kwarc 11059200 i okrojony program #include <avr/io.h> #include <avr/interrupt.h> //! Pin mappings #define CHMAX 6 // maximum number of PWM channels #define PWMDEFAULT...

    Mikrokontrolery   27 Paź 2011 20:50 Odpowiedzi: 51    Wyświetleń: 6939
  • [ATMEGA][C] Program z atm8 nie działa na atm16 - przerwania

    Nie ma na razie tego wiele więcej. Program do skomplikowanych nie należy. #define F_CPU 8000000 #include <avr/io.h> #include <util/delay.h> #include <avr/interrupt.h> #include <avr/pgmspace.h> #include "funkcje.h" #include "LCD.h" volatile unsigned char sekundy; SIGNAL(SIG_OVERFLOW2) // RTC, przerwanie...

    Mikrokontrolery AVR   29 Cze 2010 14:40 Odpowiedzi: 6    Wyświetleń: 1640
  • [C] Konfiguracja Atmega16 z TSOP1736 i LD271 - problem z odbiorem sygnału IR

    Zrobiłem takiego myka i wydaje się że wszystko działa tak jak należy. #include<avr/io.h> #include <avr/interrupt.h> #include <avr/signal.h> #include <inttypes.h> #include <util/delay.h> int main(void) { DDRD=0x00; DDRB = 0xFF; DDRA |= _BV(PA0); PORTA |= _BV(PA0); TCNT0 = 34; //wartość początkowa...

    Mikrokontrolery AVR   24 Lut 2011 10:55 Odpowiedzi: 27    Wyświetleń: 4158
  • Jak działają przerwania? Problem z kodem.

    Generalnie dobrze już kumasz czaczę :) No tak bo z każdą iteracją pętli dioda zostaje wygaszona, dodając delay wydłużę wygaszenie, ale co z przerwaniem? Ono też trwa bardzo krótko stąd czas zapalenia diody może być niezauważalnie mały a dodawanie delay w przerwaniu to chyba kiepski pomysł, no chyba żeby wyliczyć co ile mniej więcej występują przerwania......

    Mikrokontrolery AVR   17 Lis 2016 18:53 Odpowiedzi: 34    Wyświetleń: 2235
  • [ATTiny2313] Timerem1 i sterownik serwomechanizmów.

    Witam, Męczę właśnie kod do sterownika serw. Na chwilę obecną jest to coś takiego: (wartościami zmiennych stan i zegar się nie przejmujcie, ostatecznie będę inne. Procek ATTiny2313, taktowany wewnętrznym zegarem 8MHz) #include <avr/io.h> #include <avr/interrupt.h> #include <avr/signal.h> // definicje SIGNAL, INTERRUPT// Następnie deklarujemy...

    Mikrokontrolery   17 Maj 2008 14:28 Odpowiedzi: 5    Wyświetleń: 1866
  • [C] Obsługa przerwania przy przepełnieniu oraz wyplenienie PWM

    //############ Procedura obsługi przerwania od przepełnienia timera ############ ISR(TIMER0_OVF_vect) { n++; if(n>=1000) // Kwarc 16000000Hz / Prescaler 64 / timer 8 bitów czyli 256 - poczatek liczenia od 6 czyli 250 =1000Hz czyli 1us { n=00; sek++; if(sek>=60) { sek=0; min++; if(min>=60) {...

    Mikrokontrolery Początkujący   29 Gru 2011 16:01 Odpowiedzi: 6    Wyświetleń: 2604
  • 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ń: 918
  • Jak skonfigurować Timer1 na ATmega8 dla IRDA z przerwaniem co 32us?

    Potrzebuję pomocy w konfiguracji Timer1 (ten mam wolny) ewentulanie modyfikacja obecnej konfiguracji Timer0. Obecna konfiguracja jest dla odliczania odpowiedniego czasu dla ramek RC5 odbieranych przez odbiornik TSOP322 przy taktowaniu procesora z F_CPU=8MHz, w celu oszczędności energii chcę zrobić odbieranie przy częstotliwości 1MHz. Jak widać z obsługi...

    Mikrokontrolery Początkujący   15 Lut 2014 14:12 Odpowiedzi: 3    Wyświetleń: 1068
  • Dwa duże problemy z przerwaniami od timera na ATmega32

    Witam, piszę całkiem spory (w moim mniemaniu) program do sterowania silnikiem i paroma jeszcze innymi rzeczami (aktualnie na ATmega32L i 8MHz wewnętrznego oscylatora) i mam niezrozumiały dla mnie problem z obsługą przerwania od timera, kod obsługi przerwania wygląda mniej więcej tak: ... .org 0x0012 rjmp t1Ovf ... t1Ovf: push r16 push r17 in R16,...

    Mikrokontrolery   16 Lut 2007 16:21 Odpowiedzi: 2    Wyświetleń: 1254
  • Jak zainicjować Timer1 w trybie licznika dla ATmega128?

    Mi nie chodzi konkretnie o przerwanie. Jest tak: Timer t0 pracuje w trybie asynchronicznym i co 0.5s generuje przerwanie Ja w tym przerwaniu sprawdzam zawartosc rejestru TCNT odpowienio przeliczam ilosc impulsow ktore zliczyl i wyswietlam. SIGNAL(SIG_OVERFLOW0) { Rpm = TCNT2; Speed = TCNT1L; outp(0x00, TCNT3); outp(0x00, TCNT1L);...

    Mikrokontrolery   01 Cze 2005 16:28 Odpowiedzi: 14    Wyświetleń: 1884
  • [Atmega8] [Atmega8][assembler] Resetowanie po 294 cyklach w funkcji Zapal_5_diod

    Racja. Już dawno nie pisałem w assemblerze. Zastosowałem etykiety do skoków, a później wywołałem funkcje i działa (funkcja zabawa diodami). Przy obsłudze przerwania będę odkładał rejestr SREG na stos. Poniżej poprawiony listing programu. .include "m8def.inc" ;wektory przerwan .org $000 rjmp reset ;***************************************...

    Mikrokontrolery AVR   29 Kwi 2010 20:34 Odpowiedzi: 2    Wyświetleń: 1603
  • Atmega64 - Timer0 liczy 2x szybciej niż oczekiwano przy F_CPU=16MHz, preskaler 1024

    1. warningów brak 2. używam AtmelStudio i F_CPU podaje w ustawieniach projektu AVR C Compiler -> Symbols i w Definied Symbols F_CPU=16000000 i tylko tam 3. [syntax=c] //Ustawienia dla TIMERA 0: clk 16M, presk 1024, owerf 256, 61Hz #define _5SEK 305 #define _60SEK 3662 #define _5MIN 18311 #define _LIGHT_OFF 305//7234 //2min volatile int _5s; volatile...

    Mikrokontrolery Początkujący   23 Kwi 2013 21:03 Odpowiedzi: 7    Wyświetleń: 1395
  • Czy ktoś może sprawdzić poprawność działania programu

    Witam, czy mógłby ktoś sprawdzić czy program działa poprawnie, ponieważ w pewnym momencie jakby zawiesza się, tak jakby zakończył swoje działanie: #define F_CPU 16000000UL #include <inttypes.h> #include <avr/io.h> #include <avr/interrupt.h> #include <avr/sleep.h> #include <avr/pgmspace.h> #include "font.h" #include <util/delay.h>...

    Programowanie Początkujący   10 Gru 2009 10:05 Odpowiedzi: 1    Wyświetleń: 1236
  • [attiny45][C/AVRgcc] Przerwanie z tact switcha - debouncing

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

    Mikrokontrolery AVR   27 Sty 2011 23:21 Odpowiedzi: 22    Wyświetleń: 3843
  • Atmega16 - różne wyniki zliczania impulsów przy 8MHz, dlaczego?

    uczę się programowania AVR w c i na ATMEGA16 napisałem prosty programik mający zliczać impulsy w czasie 1 sekundy timer 1 odmierza czas 1 sekundy timer 0 zlicza impulsy i przy przepełnieniu inkrementuje zmienną do wyświetlenia wyniku zmienna jest przemnażana przez 256 a do wyniku dodawana jest bieżąca wartość rejestru TCNT0 do celów ćwiczenia, jako...

    Mikrokontrolery AVR   15 Paź 2011 15:09 Odpowiedzi: 13    Wyświetleń: 3822
  • Stabilizacja pomiaru częstotliwości na ATmega16 z użyciem timerów 0 i 1

    Witam:) mam pytanie do forumowiczów w sprawie pomiaru częstotliwości, sprawa przedstawia się następująco: chciałbym zrealizować pomiar częstotliwości przy użyciu timera0 (zliczanie impulsów) oraz ustalić czas bramkowania na 1s za pomocą timera1, problem w tym, ze uzyskany wynik strasznie skacze mi po częstotliwościach ;/ i nie wiem jak sobie z tym poradzic.....

    Mikrokontrolery AVR   02 Sty 2012 12:40 Odpowiedzi: 38    Wyświetleń: 4655
  • atmega16 LCD + przerwanie timera - dziwne zachowanie (VMLAB)

    Witam Ucze sie programować mikrokontrolery, używam Vmlab'a i Winavr. Mikrokontroler to atmega16. Napotkałem następujący błąd: Program teoretycznie powinien dodawać do wyświetlacza co 300ms nowy znak. Wszystko jest ok dopóki nie włącze Timera. Jeżeli go uruchomię to znaki zamiast się dodawać zaczynają się nadpisywać (pojawia się tylko jeden znak na 1...

    Mikrokontrolery   13 Mar 2009 16:37 Odpowiedzi: 4    Wyświetleń: 1803
  • Dlaczego przerwanie przepełnienia timera 0 nie działa na Atmega8 w avr-gcc?

    Może mi ktoś powiedzieć co jest nie tak z tym kodem. Próbuje obsłużyć przerwanie przepełnienia timera 0. Licznik działa ale obsługi przerwania brak. #include <avr/io.h> // dostęp do rejestrów #include <avr/interrupt.h> // funkcje sei(), cli() #include <avr/signal.h> // definicje SIGNAL, INTERRUPT volatile int time,overflow=0; SIGNAL...

    Mikrokontrolery   08 Mar 2011 14:44 Odpowiedzi: 18    Wyświetleń: 3111
  • Jak podłączyć czujnik do AT90S2313 i zliczać impulsy w Bascom?

    No to coś napisałem na AVRStudio 4.05.0.181 (na kolanie) :) . Co prawda na ATmega8 , ale przeportowanie to pestka(niektóre wektory przerwań do skasowania/zmiany nazwy i "2313def.inc" zamiast "m8def.inc" , prędkość kwarcu Xtal też do poprawki...), raczej tu chyba nie ma rozkazów niezaimplementowanych w AT90S2313 . ;included in next file - line ".device...

    Mikrokontrolery   13 Sty 2005 19:21 Odpowiedzi: 20    Wyświetleń: 7416
  • [ATmega8] ATmega8: Niedokładne pomiary odległości - problem z komparacją sygnału

    Witam Mam problem z ultradźwiękowym miernikiem odległości na atmedze8. Generacja częstotliwości przebiega prawidłowo, na odbiorniku za torem wzmacniaczy otrzymuję widoczny syglał odbity od przeszkody. Błędy pojawiają się przy komparacji sygnału z napięciem referencyjnym. Wynik jest bardzo niedokładny, ponadto od drugiego bądź trzeciego pomiaru procesor...

    Mikrokontrolery AVR   25 Maj 2008 13:37 Odpowiedzi: 14    Wyświetleń: 2875
  • [C] Jak użyć #define do przypisania trzech pierwszych bitów portu w C?

    Dzięki, już sobie z tym poradziłem, mam za to problem z timerami w atmedze 168. Mogę włączyć tylko jeden timer, gdy ustawiam drugi TIMSK to żaden nie wykonuje przerwania .Pewnie coś przeoczyłem w datasheet , z tego co wiem imer 0 i 2 sa od siebie nie zależne i mają oddzielne preskalery. ISR(TIMER0_OVF_vect) { } ISR(TIMER2_OVF_vect)...

    Mikrokontrolery AVR   29 Cze 2009 21:09 Odpowiedzi: 14    Wyświetleń: 1477
  • [C] Sterowanie częstotliwością migania diody przyciskami.

    [syntax=csharp]#include <avr/io.h> #include <avr/interrupt.h> //definicja LED1 (do którego pinu podłączony LED1) #define LED1 PB0 //definicja LED2 (do którego pinu podłączony LED2) #define LED2 PB1 //definicja początkowej wartości timera #define timer_start 6 //zmienna pomocnicza-licznik używana w przerwaniu volatile uint8_t cnt=0; void...

    Mikrokontrolery Początkujący   07 Cze 2015 15:50 Odpowiedzi: 8    Wyświetleń: 2682
  • [Atmega32][C] Jak używać dwóch źródeł przerwań na raz?

    Witam, w moim programie na atmegę 32 wykorzystałem timer0 oparty na zegarze procesora (8MHz) aby uruchamiać pewną funkcję ok. 100 razy na sekundę. Do programu postanowiłem dodać obsługę zewnętrznego kwarcu zegarkowego 32768Hz aby móc mierzyć w miarę dokładnie czas przy użyciu timera timer2. Po dopisaniu komend do obsługi kwarcu żaden timer nie działa....

    Mikrokontrolery AVR   20 Sie 2011 16:29 Odpowiedzi: 2    Wyświetleń: 1044
  • Atmega32A - Konfiguracja PWM do odtwarzania dźwięku

    PWM skonfigurowałem w oparciu datasheet Atmegi32 oraz o kalkulator (http://www.et06.dk/atmega_timers/), który mi wyliczył takie wartości : http://obrazki.elektroda.pl/1205671500_1... PWM zostało więc ustawione następująco : Deklaracja buforów Przerwanie Funckja do zmiany flag buforow Czytanie danych Liczba próbek wprowadzona na stałe...

    Mikrokontrolery AVR   01 Maj 2013 10:13 Odpowiedzi: 26    Wyświetleń: 5217
  • LIRC - Jak interpretować dane z lirc.sourceforge.net dla pilota Azur 540R v2.0?

    Witam Kod pilota z lirc : # brand: Cambridge Audio # model no. of remote control: RC-540R V2.0 # devices being controlled by this remote: AV Receiver : AZUR 540R V2.0 # begin remote name Cambridge_Audio_RC-540R_V2.0 bits 16->długość ramki flags SPACE_ENC|CONST_LENGTH|REPEAT_HEADER eps 30 aeps 100---> współczynnik wypełnienia nośnej 30/100 header...

    Mikrokontrolery   06 Cze 2015 11:59 Odpowiedzi: 2    Wyświetleń: 804
  • [MEGA128] Dlaczego ATmega128 resetuje się przy przerwaniach w programie migania diody?

    Co do pierwszego postu: To jest wynik pisania czegoś takiego jak "TIMSK = 0x80;" W ten sposób załącza się przerwanie OCIE2:"Timer/Counter2 Output Compare Match Interrupt Enable" a nie TOIE2:"Timer/Counter2 Overflow Interrupt Enable", który jest bit niżej. W symulatorze dokładnie widać, że jest wykonywany nie ten wektor przerwania. http://obrazki.elektroda.net/94_12161272...

    Mikrokontrolery AVR   15 Lip 2008 14:13 Odpowiedzi: 19    Wyświetleń: 2058
  • [Atmega32] Timer0 nie wywołuje przerwania SIG_OVERFLOW0 w skanerze 3D

    Po przerobieniu kod wygląda tak: // Testowanie timera 0 (przerwania) #include <avr/io.h> // dostęp do rejestrów #include <avr/interrupt.h> // funkcje sei(), cli() #define T0_INIT 256-250 #define tbi(PORT,BIT) PORT^=_BV(BIT) // przełącza stan BITu w PORTcie na przeciwny 1->0 ; 0->1 //unsigned...

    Mikrokontrolery AVR   15 Maj 2009 14:59 Odpowiedzi: 13    Wyświetleń: 3963
  • Atmega8 - resetowanie się układu przy zasilaniu z programatora.

    więc tak, schemat i fotka: http://obrazki.elektroda.pl/2310798200_1... http://obrazki.elektroda.pl/4708784000_1... wszystko działa, tylko tak jak pisałem z jakiegoś powodu procesor co jakiś czas wraca do początku maina. wszystkie zmienne zostają zresetowane, wpomniany MCUCSR nie rejestruje resetu. i dodam jeszcze kod...

    Mikrokontrolery   08 Mar 2014 22:39 Odpowiedzi: 6    Wyświetleń: 1602
  • Zegar widmowy - Propeller Clock

    Witam, troche odswiezam kotleta ale moze ktos bedzie mi w stanie udzielic rady, zbudowalem wlasna wersje wyswietlacza, po częsci bazujac na tym temacie (serdecznie pozdrawiam autora) mam problem z kodem, mianowicie nie potrafie zrozumiec czemu (obstawiam jakies sprzetowe opoznienia) przy probie wyswietlenia czegos, moj procek wyswietla powiedzmy to...

    DIY Konstrukcje   16 Gru 2021 23:01 Odpowiedzi: 239    Wyświetleń: 388010
  • Jak zbudować miernik prędkości obrotowej z Atmega8, LCD i GP1S51VJ000F?

    Działa świetnie! Zmieniłem typ zmiennej z int na volatile, oraz wpisałem: MCUCR= (1<<ISC00) | (1<<ISC01); //przerwanie wyzwalane zboczem narastającym __|-- zamiast MCUCR=1<<ISC00; //przerwanie wyzwalane zboczem narastającym __|-- MCUCR=1<<ISC01; Nie wiem które pomogło, ale jest ok. Jedna rzecz jeszcze nie daje...

    Mikrokontrolery AVR   24 Sty 2011 00:38 Odpowiedzi: 62    Wyświetleń: 10800
  • [C AVR] - AVR + LCD HD44780 błędna konwersja int na char

    Witam! Otóż pisząc prosty program w C pod mikrokontroler AVR (konkretnie ATmega8) napotkałem na błąd, którego nie mogę zdiagnozować. Jest to fragment programu z wykorzystaniem LCD HD44780 i dwóch switchów, zasada działania prosta, przyciskami zwiększamy lub zmniejszamy zmienną i, której wartość wyświetlamy na LCD. Kod: [syntax=c] #include <avr/io.h>...

    Mikrokontrolery AVR   09 Kwi 2013 09:22 Odpowiedzi: 2    Wyświetleń: 1938
  • [ATmega8][C] PWM - sterowanie led, prośba o sprawdzenie

    Witam serdecznie. Co poprawić w kodzie aby wykorzystywać 3xPWM z płynną zmianą, bo jak dotąd pwm od t1 działa płynnie a przy t2 przycina, co poprawić ?? #include <inttypes.h> #include <avr/io.h> #include <avr/interrupt.h> #include <avr/sleep.h> #include "iocompat.h" /* Note [1] */ enum { UP, DOWN };...

    Mikrokontrolery AVR   01 Mar 2011 00:47 Odpowiedzi: 8    Wyświetleń: 4550
  • [atmega8L][c] - Regulacja prędkości obrotowej silnika.

    Za moment sprawdzę z diodami, ale zauważyłem pewną rzecz - wywaliłem na chwilę instrukcje dotyczące przycisków innych niż C więc zostawiłem tylko pierwszy blok instrukcji - tam gdzie włączam timer - oraz blok ostatni, gdzie zeruję wartości obu OCRów. Teraz z kolei nic się nie dzieje, na oscyloskopie na wyjściu OC1B widzę tylko piki co jakiś czas. Czyżby...

    Mikrokontrolery AVR   28 Gru 2015 21:04 Odpowiedzi: 37    Wyświetleń: 3297
  • [jezyk c] ustawienie predkosci wykonywania programu

    Witam, napisałem program, który pozwala na wyświetlenie 16 znaków z tablicy na 16 7-segmentowych wyświetlaczach. Następnie program przesuwa znaki w tablicy o 1 wyświetla kolejny znak, tak że całość przesuwa się na wyświetlaczach. Problem w tym że dzieję się to za szybko i znaki biegną tak, że prawie nie można nic przeczytać na wyświetlaczu. Jeśli ktoś...

    Mikrokontrolery AVR   21 Sty 2010 08:44 Odpowiedzi: 5    Wyświetleń: 1382
  • [attiny2313] [attiny2313][C] Jak użyć jednego timera do PWM i overflow jednocześnie?

    Korzystając z podpowiedzi Kolegi Osmo , udało mi się wyskrobać coś takiego: [syntax=c]#include <avr/io.h> #include <avr/interrupt.h> volatile uint8_t jasnosc; volatile uint8_t licznik; int main(void) { jasnosc = 0; licznik = 0; DDRB |= (1<<PB2); TCCR0A |= (1<<COM0A1) | (1<<COM0A0); TCCR0A |= (1<<WGM00) | (1<<WGM01);...

    Mikrokontrolery AVR   17 Lip 2011 19:30 Odpowiedzi: 5    Wyświetleń: 1323
  • [Atmega32][C] Odczytywanie tylko jednego kanału ADC zamiast kilku

    Witajcie, mam problem z odczytem wartości z 2 kanałów ADC. Procesor to atmega32. Używam Timer0 żeby przełączać kanały, a na wyświetlaczu wyświeltane są 2 wartości, ale obydwie pokazują to samo- odczytywany jest tylko jeden kanał Inicjalizacja ADC [syntax=c]void ADC_init() { // ADC ADCSRA = (1<<ADEN) |(1<<ADPS0) | (1<<ADPS2) | (1<<ADSC);...

    Mikrokontrolery AVR   09 Kwi 2014 18:30 Odpowiedzi: 11    Wyświetleń: 1512
  • Atmega8 zegarek – implementacja funkcji wait i odliczanie sekund na LCD

    mam jeszce jeden problem, według kodu z linku dondu #include <avr/io.h> #include <avr/interrupt.h> //definicja LED1 (do którego pinu podłączony LED1) #define LED1 PB0 //definicja LED2 (do którego pinu podłączony LED2) #define LED2 PB1 //definicja KLAWISZ (do którego pinu podłączony KLAWISZ) #define KLAWISZ PC0 //definicja...

    Mikrokontrolery AVR   23 Mar 2012 12:56 Odpowiedzi: 7    Wyświetleń: 3356
  • [C][ATmega8]Zmiana sekwencji programu button switch

    Witam, zrobiłem tak jak napisano wyżej z tym przerwaniem od timera ,niestety dalej to nie działa jak chce przerobiłem trochę schemat zeby łatwiej sprawdzić co jest grane i dopisałem kilka linijek od siebie ;/ niestety działa to tak że program zmieni się gdy trzymam przycisk ale po puszczeniu go wyrzuca go do do opcji default... nie rozumiem do końca...

    Mikrokontrolery AVR   01 Paź 2019 17:57 Odpowiedzi: 26    Wyświetleń: 1410
  • Funkcja micros() na Attiny85 zwraca wyniki o 2% większe - odczyt zegara na przerwaniu

    Mam ustawiony timer na 4kHz [syntax=csharp]cli(); TCNT1 = 0; TCCR1 = 0; OCR1C = 249; // 4000 Hz (16000000/((249+1)*16)) OCR1A = OCR1C; TCCR1 |= (1 << CTC1); TCCR1 |= (1 << CS12) | (1 << CS10); TIMSK |= (1 << OCIE1A); sei();[/syntax] W przerwaniu timera machałem pinem [syntax=csharp]ISR(TIMER1_COMPA_vect) { //licznik timer1 przepełnienie...

    Mikrokontrolery Początkujący   21 Wrz 2021 20:34 Odpowiedzi: 8    Wyświetleń: 1068
  • atmega128 Timer1 - Nie działa przerwanie przepełnienia licznika

    Witam. Jestem poczatkujacym w C i powili uruchamiam sobie kolejne moduly proca atmega128, napotkalem niestety na problem w uruchomieniu timera1, wyglada na to ze wogole nie startuje bo nie wchodzi mi w obsluge przerwania przepelnienia licznika, ma to dzialac tak ze przy kwarcu 11.0592MHz po odpowiednim zaladowaniu licznika ma mi zapalac diode co ok...

    Programowanie   09 Lut 2007 08:38 Odpowiedzi: 1    Wyświetleń: 1025
  • AVR-GCC: Program nie działa po przerwaniu - co może być przyczyną?

    Bardzo dziękuje za cenne rady. Oczywiście nie myliliście sie. Teraz już wiem o co w tym wszystkim chodzi:). Teraz kod wygląda tak: #include <avr/io.h> #include <avr/signal.h> #include <avr/interrupt.h> #include "delay.h" #include "lcd.h" #include "ds18x20.h" //-----ds18x20 volatile uint16_t decicelsius;...

    Programowanie   06 Maj 2008 21:43 Odpowiedzi: 6    Wyświetleń: 2828
  • [Atmega128] Atmega128 Ethernut - Konflikt przerwań TIMER0 i zewnętrznych czujek ruchu

    Witam! Mam taki dość nietypowy problem. Kontroler ma reagować na jedno z trzech przerwań: TIMERa 0 i dwóch zewnętrznych (czujki ruchu). Te przerwania zewnętrzne zliczają liczbę reakcji czujek, natomiast TIMER 0 ma odmierzać czas i dzięki niemu co kilka sekund mają być wyświetlane statystyki. Bez TIMERa 0 wszystko działa ok, ale statystyki lecą cały...

    Mikrokontrolery AVR   05 Lut 2010 10:15 Odpowiedzi: 2    Wyświetleń: 1601
  • [ATmega16] ATmega16: PWM nie działa z silnikami mimo zmiany portów w kodzie C

    Witam próbuję wysterować silniki przez PWM, przeczytałem poradnik na mikrokontrolery.blogspot.com i z kodu zmieniłem porty, lecz dalej nic się nie dzieje ze silnikami... http://obrazki.elektroda.pl/9186829100_1... http://obrazki.elektroda.pl/4064646700_1... Wie ktoś jaka może być przyczyna lub co zmienić? Z góry dzięki.

    Mikrokontrolery   02 Mar 2013 00:10 Odpowiedzi: 8    Wyświetleń: 3666
  • [ATMega32] ATMega32: Nieprawidłowe działanie PWM przy ustawieniach portu i przerwaniach

    Witam. Od 3 dni siedzę już nad programowym PWM. Wykorzystuję do tego przerwanie na timerze, ale coś nie działa tak jak powinno otóż jak nie mam ustawionego stanu 1 na ostatnim bicie portu to PWM dziwnie się zachowuje. //Includes #include "avr/io.h" #include "inttypes.h" #include "stdio.h" #include "util/delay.h"...

    Mikrokontrolery AVR   06 Lis 2009 17:31 Odpowiedzi: 6    Wyświetleń: 2186
  • Wyswietlacz widmowy na atmega8 - wyswietla tylko 1/3 okregu

    [syntax=c] #include <avr/io.h> #include <util/delay.h> #include <avr/interrupt.h> #define TIMER0_ON (TIMSK |= _BV(TOIE0)) #define TIMER1_ON (TIMSK |= _BV(TOIE1)) #define TIMER0_OFF (TIMSK &= ~_BV(TOIE0)) #define TIMER1_OFF (TIMSK &= ~_BV(TOIE1)) #define led1_ON PORTD |= (1<<PD1) #define led2_ON PORTD |= (1<<PC0)...

    Mikrokontrolery AVR   03 Gru 2017 22:39 Odpowiedzi: 5    Wyświetleń: 621
  • [ATMega] ATMega8 – jak sterować wieloma diodami RGB przy ograniczonej liczbie kanałów PWM?

    Jeśli chodzi o sprzętowego PWMa to chyba pokuszę się o AVR136, tylko zamiast atmegi wykorzystam attiny2313. Zasymulowałem sobie to na razie tylko w proteusie i całkiem ładnie to śmiga :) ________________________________________... Ok. Potrzebuje Waszej pomocy. PWMy ładnie działąją (12 kanałów), ale nie wiem jak zwiększyć częstotliwość tego PWMa....

    Mikrokontrolery AVR   29 Paź 2010 08:55 Odpowiedzi: 20    Wyświetleń: 6148
  • Jak poprawnie obsłużyć przerwania INT1 w komunikacji z RFM12B?

    [syntax=cpp]ISR(INT1_vect) { // będzie case w zależności od trybu pracy Transmiter czy Receiver. W chwili obecnej jest tylko niepełny receiver u16t data=writeCmd(0x0000); if ((data>>15)&0x01) // FFIT jeżeli fifo zapełniło zaprogramowaną wartość (u mnie 8 bitów) { if (!(TIMSK&(1<<OCIE0))) // wykonuje się tylko raz przy rozpoczęciu...

    Mikrokontrolery AVR   23 Lut 2013 17:27 Odpowiedzi: 25    Wyświetleń: 8634
  • [C][atmega8] generowanie fali nośnej 36kHz i wysyłanie RC5

    napisałem tak i nie działa ;/ gdzie może być błąd? (tranzystor PNP do OC1A - PB1 atmega8). sprawdziłem przed chwilą w bascomie, i telewizor reaguje na komendy rc5send z BASCOMA. unsigned int RRR=0; void rc5send(void) { TCCR0 |= (1<<CS00); TCCR0 |= (1<<CS01); // use CLK/64 prescale TCNT0 = 0x6F; //888 cykli dla...

    Mikrokontrolery AVR   28 Lis 2009 10:24 Odpowiedzi: 7    Wyświetleń: 3592
  • [C] [C][asm] Jak przyspieszyć wykonanie przerwania PWM dla 12 kanałów?

    Kod mojego przerwania wygląda tak. Program działa w rezultacie tak jak bym chciał, ale samo wykonanie przerwania zajmuje trochę czasu. Zoptymalizowałem kod tak jak potrafiłem i w tym momencie liczę na Waszą pomoc. SW_pwm_12_channels: volatile unsigned char chanell[12]; volatile const pwm_res = 32; volatile unsigned char counter = 0; #define...

    Mikrokontrolery AVR   31 Paź 2010 14:32 Odpowiedzi: 18    Wyświetleń: 2289
  • Dlaczego przerwania TMR0 nie działają w moim kodzie AVR?

    //dołączanie bibliotek #include ... volatile uint32_t overflow; ISR (TIMER0_OVF_vect) { overflow++; } void funkcja() { uint32_t pom; overflow=0; ... ... //różne duperele związane z szyfrowaniem ... pom=overflow; } SIGNAL (SIG_INTERRUPT0) { funkcja(); } SIGNAL (SIG_INTERRUPT1) {...

    Mikrokontrolery AVR   10 Lut 2010 10:08 Odpowiedzi: 4    Wyświetleń: 1096
  • Algorytm Goertzela na PIC - optymalizacja i stałe coeff w tablicy

    Witam! Niedawno miałem na forum temat n/t próbkowania i zapisu do tablicy sygnału sinusoidalnego. Gdy się z tym uporałem, wziąłem się za pisanie algorytmu Goertzela. Szukalem w sieci dużo. Między innymi ta biblia: http://www.mstarlabs.com/dsp/goertzel/go... a także ta: http://www.eetimes.com/design/embedded/4... Koniec...

    DSP i Transmisja   31 Sty 2013 13:46 Odpowiedzi: 9    Wyświetleń: 3825