Hehe, die letzte Zeile sagt nicht aus, dass man das auch klein schreiben darfocr2 ist eine Konstante, die direkt darüber definiert wird.
edit: Hier noch mal der Vollständigkeit halber. Folgender Abschnitt ist in der Init() Funktion der Asuro-Lib zu finden - hier wird die grundlegende Einstellung vorgenommen:
Und so sieht die main() aus, hier kann die Pulsbreite je nach Taste geändert werden:Code:/* 00117 Timer2, zum Betrieb mit der seriellen Schnittstelle, fuer die 00118 IR-Kommunikation auf 36 kHz eingestellt. 00119 */ 00120 #if defined(__AVR_ATmega168__) 00121 // fast PWM, set OC2A on compare match, clear OC2A at bottom, clk/1 00122 TCCR2A = _BV(WGM20) | _BV(WGM21) | _BV(COM2A0) | _BV(COM2A1); 00123 TCCR2B = _BV(CS20); 00124 // interrupt on timer overflow 00125 TIMSK2 |= _BV(TOIE2); 00126 #else 00127 // fast PWM, set OC2A on compare match, clear OC2A at bottom, clk/1 00128 TCCR2 = _BV(WGM20) | _BV(WGM21) | _BV(COM20) | _BV(COM21) | _BV(CS20); 00129 // interrupt on timer overflow 00130 TIMSK |= _BV(TOIE2); 00131 #endif 00132 // 36kHz carrier/timer 00133 OCR2 = 0x91;
edit2: Irgendwas stimmt mit der main() aber nicht, wenn ich das richtig sehe, haben die Tasten überhaupt keine Funktion mehr, ausser dass ein nichtssagender Wert ausgegeben wird ...Code:int main(void) { unsigned char sw; Init(); DDRD |= (1 << DDD1); // Port D1 als Ausgang PORTD &= ~(1 << PD1); // PD1 auf LOW // InitIRDetect(); while (1) { UCSRB = 0; OCR2 = 0xFE; if (PIND & (1 << PD0)) StatusLED(GREEN); else StatusLED(RED); sw = PollSwitch(); if (sw & 0x01) ocr2 = 0xFE; //Pulsbreite 1 if (sw & 0x02) ocr2 = 0xFD; //Pulsbreite 2 if (sw & 0x04) ocr2 = 0xFB; //Pulsbreite 4 if (sw & 0x08) ocr2 = 0xF7; //Pulsbreite 8 if (sw & 0x10) ocr2 = 0xEF; //Pulsbreite 16 if (sw & 0x20) ocr2 = 0x90; //Pulsbreite 110 if (sw) { OCR2 = 0x91; PrintInt(sw); SerPrint(" "); PrintInt(ocr2); SerPrint("\r\n"); } // Msleep(100); } return 0; }
Die Quelle kommt allerdings auch aus dem Release Candidate der Lib ...







 
			
			 
					
					
					
						 Zitieren
Zitieren

Lesezeichen