Gast
#361165
Da meine Harware noch nicht fertig ist, arbeite ich zur Zeit mit dem AVR Studio 4 Simulator. Controller ist der ATMEGA2561. Ich habe einen 16Bit Timer zur PWM erzeugung Initialisiert und er zählt auch und zum Compare Match wird der PIN auf High gesetzt. Wie es auch sein sollte. Erreciht der Timer jedoch das TOP Level wird der PIN nicht wieder auf LOW gesetzt. Ist das ein BUG im Smulator? Kennt das jemand, oder ist da einfach ein Fehler, den ich nicht blicke? Compiler ist der CodeVison AVR 1.25.1. Hier der C-Code #include <mega2561.h> void main() { #asm("sei"); GTCCR=0x00; //Timer für Soundausgabe über PWM // PB6 OC1 SIG_PWM 16BIT TCCR1A= 0b00110011; //Fast PWM Mode, Set OC1B on Compare Match, clear on TOP. OC1A/C not active TCCR1B= 0b00011000; //No Clock, Timer Stoped. Fast PWM Mode TCCR1C= 0b00000000; //only active if "non PWM Mode" OCR1AH= 0x00; //Define TOP Value OCR1AL= 0x7A; // OCR1BH= 0x00; //Define Compare Level OCR1BL= 0x56; TIMSK1= 0b00000000; //Timer Overflow Interrupt enabled TCCR1B|=0x01; //Starts the timer while(1) { #asm ("nop"); } } Vielen Dank, Tobias