-
Data: 2009-02-21 10:50:00
Temat: Problem z Timerami w Atmega64L
Od: j...@g...com szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Witam, mam problem z poprawnym uruchomieniem timerow na w/w atmedze.
Do tej pory bawilem sie Atmega32 i problemow nie bylo.
Problem tkwi w tym, ze nie dzialaja mi przerwania od timerow.
Dodatkowo wydaje mi sie (jedynie z obserwacji), ze zmiana
preskalerow tez nie wplywa na szybkosc zliczania...
Porownywanie z wzorcami porownania z OCR(x) tez...
Timery poprostu licza sobie od 0 do 255 i automatycznie zeruja sie.
i tak w nieskonczonosc, zawsze z ta sama predkoscia.
Atmega64L taktowana wewnetrznym generatorem RC 1MHz
Zasilanie 3.3V
Ponizej zamieszczam przykladowy problem, ktory NIE dziala na
Atmedze64L, natomiast bezblednie dziala na Atmedze32:
#include <avr/interrupt.h>
#include <avr/signal.h>
#include <avr/iom32.h>
volatile unsigned int interrupts2 = 0;
volatile unsigned int interrupts0 = 0;
void io_init(void)
{
DDRG &= ~(1 << PG3); // Wejscie TOSC2 - 32kHz
DDRG &= ~(1 << PG4); // Wejscie TOSC1
DDRD &= ~(1 << PD2); // Wejscie RxD
DDRD |= (1 << PD3); // Wyjscie TxD
}
ISR(SIG_OVERFLOW2)
{
interrupts2++;
TCNT2 = 0;
}
ISR(SIG_OVERFLOW0)
{
interrupts0++;
TCNT0 = 0;
}
int main(void)
{
io_init();
uart_init();
TIMSK &= ~(1 << TOIE2);
TIMSK &= ~ (1 << OCIE2);
ASSR |= (1 << AS2);
TCCR2 |= (1 << CS22);
TCCR2 |= (1 << CS20);
while(ASSR&0x07);
TIMSK |= (1 << TOIE2);
TIMSK |= (1 << OCIE2);
OCR2 = 0x99;
TIMSK |= (1 << TOIE0);
TIMSK |= (1 << OCIE0);
TCCR0 &= ~(1 << WGM00);
TCCR0 &= ~(1 << WGM01);
TCCR0 |= (1 << CS02);
TCCR0 &= ~(1 << CS01);
TCCR0 &= ~(1 << CS00);
SREG |= 0x80;
while(1)
{
}
return 0;
}
Rezultat wyrzucam sobie na konsole COM za pomoca uarta
Zmienne interrupts0 i interrupts2 sa ciagle rowne zero...
Prosze o jakies wskazowki, bo juz mi rece opadaja :(
Pozdrawiam, Piotr
Następne wpisy z tego wątku
- 21.02.09 11:01 MoonWolf
- 21.02.09 11:06 j...@g...com
- 21.02.09 11:16 MoonWolf
- 21.02.09 11:30 PH
- 21.02.09 11:32 j...@g...com
- 21.02.09 14:48 j...@g...com
- 21.02.09 19:48 Adam Dybkowski
- 22.02.09 14:38 Robert Zemła
- 23.02.09 10:26 Tom
- 24.02.09 19:18 j...@g...com
Najnowsze wątki z tej grupy
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- Propagation velocity v/c dla kabli RF
- Jakie natynkowe podwójne gniazdo z bolcem (2P+PE)
- Czujnik nacisku
- Protoków komunikacyjny do urządzenia pomiarowego
- Hiszpania bez pradu
- amperomierz w plusie
- 3G-nadal działa
- Historia pewnego miernika kalibratora
- Ustym 4k Pro i wyświetlacz
- Czemu rozwaliło celę?
- Wojna w portfelu
- Jaki trojfazowy licznik tuya lub podobny?
- Problem z dekoderem adresów
- Intel się wyprzedaje: po 10latach pchnęli pakiet kontrolny Altery za 1/4 kwoty zakupu
Najnowsze wątki
- 2025-05-18 Jak wyborca POWINIEN zareagować na wydanie karty do głosowania bez pieczęci komisji?
- 2025-05-18 Kto tak pięknie gra ?
- 2025-05-18 "Dobre obyczaje"? WTF?!
- 2025-05-18 Zgodnie z prawem, 11-letnia Patrycja może być przesłuchiwana jedynie w obecności matki, a nie psycholoszki
- 2025-05-18 MMSy
- 2025-05-18 Wiceminister "sprawiedliwości" A. Myrcha złamał ciszę wyborczą [rzepa]
- 2025-05-17 Głosowanie na prezydenta mDowód
- 2025-05-17 Karol i Patrycja - a może wielka miłość jak Romeo i Julia
- 2025-05-17 Re: Pamientajta, aby zamknÄ Ä ryje, bo jest cisza wyborcza, a co powiecie
- 2025-05-17 Phishing obok nas.
- 2025-05-17 poznaj siłe swoich pieniędzy
- 2025-05-17 Warszawa => Senior IT Recruitment Consultant <=
- 2025-05-17 Warszawa => DevOps Engineer <=
- 2025-05-17 Warszawa => Junior Account Manager <=
- 2025-05-17 Warszawa => Senior Programmer C <=