Hallo, hier ein paar Schnipsel aus meinem DMX-RGB-Ansteuerprogramm:
Initialisierung:
// Timer/Counter 1 initialization // Clock source: System Clock // Clock value: 8000,000 kHz // Mode: Fast PWM top=00FFh // OC1A output: Non-Inv. // OC1B output: Non-Inv. // Noise Canceler: Off // Input Capture on Falling Edge
TCCR1A=0xA1; TCCR1B=0x09; TCNT1H=0x00; TCNT1L=0x00; OCR1AH=0x00; OCR1AL=0x00; // Wert für Rot OCR1BH=0x00; OCR1BL=0x00; // Wert für Grün
// Timer/Counter 2 initialization // Clock source: System Clock // Clock value: 8000,000 kHz // Mode: Fast PWM top=FFh // OC2 output: Non-Inverted PWM ASSR=0x00; TCCR2=0x69; TCNT2=0x00; OCR2=0x00; // Wert für Blau
Setzen der PWM-Kanäle:
if (dmxchannel==rot) { // Rot OCR1AH=0x00; OCR1AL=dmxvalue; } if (dmxchannel==gruen) { // Grün OCR1BH=0x00; OCR1BL=dmxvalue; } if (dmxchannel==blau) // Blau OCR2=dmxvalue;
Alle verwendeten DDRs sind auf Ausgang. Trotzdem ist nur das PWM für Rot und Blau am Ausgang zu finden, das PWM für Grün (OCR1B) gibt es nicht. Was habe ich denn übersehen? Verschlucke ich irgendwas?
Grüße, Carsten