Für dieses Forum muß Javascript im Browser aktiviert werden!
Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C2 Quellcode formatieren: <code>Quellcode</code> ASM Quellcode formatieren: <asm>Quellcode</asm> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! > Hallo, > > hier noch der C-Quellcode: > > C-Code--------------------------- > > /* impuls.c */ > > #include <REG164CH.h> > > //Hier die Interruptroutine. Wenn sie nicht auskommentiert ist, geht dar nichts mehr > > /*_interrupt (0xF4) void > timer_stop (void) > { > CC16 = 0x0FFF; > CC17 = 0x0FFF; > }*/ > > void main() > { > #pragma asm > > pop R1 > pop R2 > > #pragma endasm > > int i = 0xFFFF; > /* Timerregister Initialisieren */ > /* Reload-Register auf 0 setzen */ > T7REL = 0x0; > /* Steuerungsregister für die CapCom-Timer einstellen */ > T78CON = 0x3; > //T7M = 0; Timer 7: Timerbetrieb > //T7I = 0x3; Prescaler für Takt: T=210ms, dTmin=3,2us > > /* Interruptsteuerung für Timer 7 */ > > T7IC = 0x7F; > /* T7IE: IRQ enable */ > /* ILVL = 0xF; Interruptpriorität max. */ > /* GLVL = 0x3; Gruppenpriorität max. */ > > /* Steuerungsregister für die Vergleichsregister einstellen */ > CCM4 = 0x77; > /*ACC16 = 0; Compare-Register CC16 zu Timer 7 zuordnen > ACC17 = 0; Compare-Register CC17 zu Timer 7 zuordnen > CCMOD16 = 0x7; Set output on each match für CC16 > CCMOD17 = 0x7; Set output on each match für CC17 */ > > /* Werte in Vergleichsregister schreiben */ > CC16 = 0x8000; /* Compare-Register 16: 50% */ > CC17 = 0x8000; /* Compare-Register 17: 50% */ > T7R = 1; /* Timer 7: Start */ > > i = 0x8000; > //while(T7IR != 1) > while(i > 0) > { > i = i - 1; > CC16 = i; > CC17 = i; > } > T7R = 0; > } > > > C-Code-Ende------------------ > > Problem 1: CC16 bzw. CC17 lassen sich nicht dekrementieren. > Problem 2: Wenn der Programmteile für die Dekrementierung der Vergleichsregister herausgenommen > wird und stattdessen die Interruptroutine aktiviert wird, dann rührt sich gar nichts mehr. > > Was mache ich da falsch? > > Gruß, > Harald