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

Martin Blaha conf.hw na elektronek.cz
Středa Říjen 11 21:17:10 CEST 2023


chce to ujasnit si co chcete přesně
rutinu přerušení máte nastavenou na timer overflow čili přetečení timeru
nastavujete fastpwm, ale pwm jako takové nepoužíváte - výstupy nejsou 
nastavené
zkuste napsat co přesně potřebujete na tom výstupu toho portu A

MB

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ě?
> -- 
>
> Martin Záruba
>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.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/20231011/b1aab505/attachment.htm>


Další informace o konferenci Hw-list