Hi,
ich habe mehrere TLC540 AD-Wandler an einem Mega16 hängen. Die hab ich
zum testen bisher mit Bit-Banging-SPI ausgelesen.
System-Clock sowie IO-Clock vom ADC hingen zusammen und hab ich "zu
Fuss" getoggelt wie ich es brauchte.
Nun kann der System-Clock bis zu 4Mhz sein, muss aber mehr als 2,1Mhz
sein (IO-Clock max. 2,1Mhz).
Ich wollte den System-Clock jetzt per CTC an OC1A erzeugen lassen, nur
bekomme ich da laut Oszi nur ~64hz raus.
Der Mega16 läuft mit internem 8Mhz Takt.
Hier mein Code:
1 | int main (void) {
|
2 | DDRD |=(1<<PD5);
|
3 | TCCR1A |=(1<<COM1A0); // OC1A toggle on compare match
|
4 | TCCR1A |=(1<<WGM12); // CTC mode 4
|
5 | TCCR1B |=(1<<CS10); // no prescaling
|
6 | OCR1A=0;
|
7 | sei();
|
8 |
|
9 | for(;;);
|
10 | }
|
Ich habe schon geschaut ob vielleicht eine ISR dazu gehört und er
deshalb dauernd Reset macht, konnte aber nichts passendes finden...