Hallo workwind,
hmmmm, das kann ich nicht so ganz nachvollziehen. Vielleicht bin ich ja schon zu alt
...
workwind schrieb:
Es gibt genau zwei Gründe:
- Das Slave-Select (SS) Signal liegt beim ATmega88 auf dem OC1B Ausgang, wird jedoch für PWM benötigt. Damit kann der ATmega88 kein Slave sein...
- Die Slave Implementierung im ATmega128 benötigt keinen Timer, es wird vom COPRO automatisch jede ms ein IRQ erzeugt...
zu 1.
So wie ich das Datenblatt lese hat der ATMEGA88 6 PWM-Kanäle – 2 davon werden vom CoPro derzeit aktiv für PWM genutzt (so wie ich Schaltplan und Sourcen lese) – also wären da grundsätzlich noch 4 Möglichkeiten …
zu 2.
Jede mS ? TIMER2 triggert das Ganze, sowie ich die Source lese – und das alle 32 MikroS. Bin ich da auf dem Holzweg?
// start timer 2 to call back in 32 us
TCCR2B = _BV(CS21); // PS: 8
OCR2A = 64; // 32us later
GTCCR = _BV(PSRASY); // Reset Prescaler
TIFR2 = _BV(OCF2A); // Clear OC Bit
TIMSK2 = _BV(OCIE2A); // Enable Interrupt
Verwirrte Grüße
Dieter