ATTINY4313 výstupy a propojení čítačů

Podle nastavení čítače odhaduju, že chceš stavět hodiny nebo něco podobnýho.

Jeden detail - máš CTC nastaveno na 251 cyklů. Čítač čítá 0-OCR0A a do nuly přeteče až při dosažení OCR0A+1 …


To je proto, že nastavuješ CTC režim čítače a pokud nastavíš jenom OCR0B a ne OCR0A, pak čítač počítá jenom do 0.

Tohle by mělo pracovat s pinem D5:
TCCR0A=0b00010010;
OCR0A=250;
OCR0B=250;
TCCR0B=0b00000100;

A tohle by mělo pracovat s pinem D5 i B2:
TCCR0A=0b01010010;
OCR0A=250;
OCR0B=250;
TCCR0B=0b00000100;


Následným nastavením bitů CS12:0 čítače 1 bys měl teoreticky dosahnout toho, že čítač 0 Ti bude sloužit jako vstup
hodin pro čítač 1. Myslím, že PCINTx umí generovat přerušení i při změně na výstupním pinu, tak by mohlo fungovat
i tohle - chce to vyzkoušet.


A že jsem tak zvědavý - když chceš takhle generovat hodiny pro čítač 1, nebylo by lepší udělat čítání pomocí sotfwaru ?

TCCR0A=0b00000010; // Nastavit CTC mode, všechny porty nechat jako IO piny
OCR0A=249; // Nastavit čítání na 0-249 (250 cyklů hodin)
TCCR0B=0b00000100; // Prescaler na 256
TIMSK=(1<<OCIE0A);

V tomto nastavení při 8 MHz SysCLK dochází k přerušení 125x za sekundu.
SysCLK/Prescaler/TimerCounts = 8000000/256/250=125

A na přerušovací vektor TIMER0_COMPA pak posadit v podstatě sofwarový čítač 1 ?