Forum: Mikrocontroller und Digitale Elektronik pic 18f45k22 capture mode einstellen


von Siggie (Gast)


Lesenswert?

Hi Leute,
ich hoffe es kann mir einer von euch helfen.
Ich verzweifle an dem C-Code. Ich programmiere mit microC von 
mikroelektronika.
Ich will eine Impulsdauer messen und wollte dazu das Capture Modul 
verwenden, aber irgendwie funktiert es nicht und ich komme nicht 
dahinter.

folgend der Code:


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
void main()
{

unsigned int Impuls1 = 0;
unsigned int Impuls2 = 0;

TRISC.B1 = 1;                                 // PORTC_Bit1 auf Eingang
CCP2CON = 0x04;
CCPR2L = 0;
CCPR2H = 0;
PIE2.B0 = 1;
PIR2.B0 = 0;
T1CON = 0x01;

while (1)
{

 if(PIR2.B0 == 1)                         // Interrupt bei
 {
 Impuls1 = CCPR2L;
 Impuls2 = CCPR2H;
 PIR2.B2 = 0;
 }
}
}

+++++++++++++++++++++++++++++++++++++

Ich hoffe wirklich, dass sich jemand den Code mal kurz anschauen kann.

Vielen Dank im voraus...

von Nobby Nops (Gast)


Lesenswert?

Bin mir nicht so ganz sicher aber du benutzt ja den Timer 1 so wie es 
aussieht...

Ist der auch richtig konfiguriert?
Bzw. wo ist der ganze andere Kram der Initialisierung??

von Siggie (Gast)


Lesenswert?

der andere Kram wird von microC compiler organisieret.
Den Timer muss ich jedoch selbst einstellen. So wie ich es im data sheet 
des pif18f45k22 raus lesen konnte, ist der in der bereits in der 
Grundstellung schon richtig konfiguriert und mann müsste den nur noch 
starten...

aber ich dachte auch schon ddass es daran liegen müsste...

von Nobby Nops (Gast)


Lesenswert?

Also da ich den microC nciht verwende kann ich dir da nciht viel zu 
sagen. Aber ich würde mal nachschaun ob die mehrfach Belegung der PIN 
stimmt. Da gibts so spezielle Register die die verschiedenen Funktionen 
eines Pins verwalten und die Priorität festlege. Vll mach das der Micro 
C nicht richtig.,.,.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.