timsk overflow

Znaleziono około 657 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ń: 2204
  • [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ń: 1437
  • REKLAMA
  • Nie znalazłeś odpowiedzi? Zadaj pytanie Sztucznej Inteligencji

    Czekaj (2min)...
  • [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ń: 2018
  • [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ń: 3786
  • REKLAMA
  • [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ń: 2181
  • 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ń: 1791
  • 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ń: 1068
  • [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ń: 7594
  • REKLAMA
  • 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ń: 909
  • 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ń: 1709
  • 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ń: 981
  • 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ń: 7077
  • REKLAMA
  • 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ń: 288
  • Sprzętowy debouncing enkodera + kod

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

    DIY Początkujący   19 Maj 2020 15:57 Odpowiedzi: 22    Wyświetleń: 4095
  • 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ń: 2651
  • [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ń: 1268
  • 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ń: 3075
  • 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ń: 1095
  • 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ń: 389621
  • 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ń: 2298
  • 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ń: 1629
  • 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ń: 4993
  • 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ń: 3364
  • 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ń: 2217
  • [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ń: 3129
  • [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ń: 2322
  • 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ń: 717
  • 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ń: 1944
  • Dlaczego przerwanie timera w ATmega8 nie działa? Dioda na PB1 nie świeci

    Przekopałem już niejedno forum i na każdym z nich robią to na inną modłe... Ale co bym nie tworzył to i tak nie działa... Uprościłem program do min i nic... Prosze niech ktoś mnie oświeci co jest nie tak... Aha do portu PB1 podłączona dioda żeby było wiadomo, że coś się dzieje... #include<avr/io.h> #include <avr/interrupt.h> #include <avr/signal.h>...

    Mikrokontrolery   21 Kwi 2005 20:07 Odpowiedzi: 18    Wyświetleń: 10058
  • 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ń: 1568
  • 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ń: 1062
  • 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ń: 1386
  • 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ń: 2330
  • [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ń: 1543
  • 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ń: 1986
  • [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ń: 1458
  • 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ń: 1173
  • [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ń: 1712
  • 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ń: 3023
  • [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ń: 3993
  • [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ń: 2643
  • [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ń: 3987
  • [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ń: 1616
  • [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ń: 4215
  • Bufor cykliczny ATtiny4313 - brak możliwości pobrania danych

    Niestety efekt jest wciąż ten sam, cały czas dostaje wartość 134 na terminalu. Nie mam pojęcia co innego mogło by go resetować. Dodano po 9 Aktualnie wszystko zajmuje zaledwie 27% pamięci SRAM, więc raczej nie dochodzi do nadpisywania danych. Jedynym zasobożernym kodem jest ten od USARTA. EDIT: Obserwując efekt PWM można by stwierdzić, że nie zachodzi...

    Mikrokontrolery AVR   25 Gru 2019 09:26 Odpowiedzi: 22    Wyświetleń: 993
  • 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ń: 1482
  • [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ń: 2983
  • [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ń: 1248
  • 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ń: 672
  • [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ń: 2727