Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Wichtig: Bevor Du wegen einem Problem mit der CC2 postest, stelle sicher, daß Du
die neueste OS-Version, die neuseste Compiler-DLL und die neuesten Modulversionen benutzt!
Beachte, daß sich auf der CD zur CC2-Unit/Station auch jetzt noch die ältesten Dateien befinden!
Es gelten folgende Anleitung und Regeln: Regeln CC2Net.de-Forum
Zurück zum Artikel  (Blaue Felder sind Pflichtfelder)


Name:   UserID: 
 E-Mail:
Kategorie
Betreff
Homepage:
Link-Titel:
Link-URL:
Cookie für Name, UserID, E-Mail, Homepage-URL setzen
(Erspart die Neueingabe bei Beiträgen und Antworten)
(Zum Löschen des Cookies hier klicken)
Ich nutze:
C-Control II Unit
C164CI-Controllerboard
C-Control II Station
CCRP5 mit CC2-Unit (Conrad Roboter)
CC2-Application-Board
CC2-StarterBoard
CC2-ReglerBoard
eigenes Board
original OS     OSOPT_V2     OSOPT V3.0 OSOPT V3.1

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
Dateianhang: (.gif, .png., .jpg, .zip, .rar)
max. 256kB
max. 256kB