Re: Přerušení časovačem na AtMega

Martin Záruba swz na volny.cz
Úterý Říjen 10 21:33:07 CEST 2023


ATMega2560.

Jak zjistím CLK? Nic jiného jsem nenastavoval.

Martin Záruba

Dne 10.10.2023 v 20:26 Pavel Hudeček napsal(a):
> Přerušení se samo zakáže vstupem do jeho obsluhy a samo povolí jejím 
> ukončením, takže cli a sei vyhodit.
>
> Dále by to chtělo vědět, která ATmega, případně i zda/jak má nastavené 
> s CLK související fuse bity.
>
> PH
>
> Dne 10.10.2023 v 19:52 Martin Záruba napsal(a):
>>
>> Nastavil jsem
>>
>>   TCCR1A = 0;// Vynulování registru TCCR1A
>>   TCCR1B = 0;// Vynulování registru TCCR1B
>>   // Nastavení režimu Fast PWM (TOP = ICR1)
>>   TCCR1A |= (1<< WGM11);
>>   TCCR1B |= (1<< WGM13)| (1<< WGM12);
>>   // Nastavení hodinového děliče na 64 (frekvence časovače = 
>> frekvence CPU / 64)
>>   TCCR1B |= (1<< CS11)| (1<< CS10);
>>   // Nastavení intervalu pro generování přerušení (100 us) - pro 
>> frekvenci CPU 16 MHz
>>   // ICR1 = (F_CPU / (časový interval * hodinový dělič)) - 1
>>   ICR1 = 24;// 100 us při frekvenci CPU 16 MHz a hodinovém děliči 64
>>   // Povolení přerušení od časovače Timer/Counter1
>>   TIMSK1 |= (1<< TOIE1);
>> a rutina přerušení je zatím zcela triviální
>> ISR(TIMER1_OVF_vect){
>> cli();// Vypnutí globálních přerušení
>>  PORTA=0;
>>  PORTA=0xFF;
>> sei();// Zapnutí globálních přerušení
>> }
>> Na všech bitech portu A jsou krásné obdélnikové pulzy. Ale perioda 
>> vyvolání pulzů je sice cca 100uS ale chaoticky kolísá. Co dělám blbě?
>
>
> _______________________________________________
> HW-list mailing list  -  sponsored bywww.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20231010/5620572b/attachment.htm>


Další informace o konferenci Hw-list