Hallo zusammen, ich habe folgedes Problem, ich habe hier ein Board mit einem PIC16F1825 Die Funktion der Hardware ist folgende, auf dem Pin RC5 ein 100Hz PWM ausgeben und der Pin RA2 ist als Capture eingestellt. Die Pins RC0 und RA4 steuern jeweils eine Status-LED an. Das Problem, was ich habe, wenn ich den Timer 1 fürs Capture konfiguriere (initTimer1();), dann geht der Pin RA4 nicht mehr, kommentiere ich die Funktion aus, dann gehts wieder. Das gleiche Verhalten ist auch für den Pin RA5 zu beobachten. Die restlichen Pins des Ports A RA0 und RA1 gehen ohne Probleme (USART), RA3 ist /MCLR. Der Pin RC0 (und andere freie RC-Pins) geht auch immer. Ich habe mittlerweile alles mögliche probiert. Der Quellcode ist aufs Nötigste zusammengestrichen und ich finde den Fehler nicht. Fällt irgedjemand was auf, was ich vergessen habe? Danke im Voraus.
Sorry, was wichtiges vergessen Der Compiler ist: HI-TECH C Compiler for PIC10/12/16 MCUs (PRO Mode) V9.83 P.S. main.c wurde 2 mal eingefügt, war so nicht gedacht
T1OSCEN = 1;//Timer1 Oszillator aktivieren Wieso das? Damit schaltest du einen Uhrenquarz an T1OSO/T1OSI ein. Kein Wunder, das RA4/RA% danach nicht mehr als Port zu gebrauchen ist.
andy schrieb: > PIC16F1825 will nicht so, wie ich will Ein ähnliches Problem habe ich mit meiner Frau auch (naja, manchmal ;-) > Fällt irgedjemand was auf, was ich vergessen habe? Nur mal ins blaue geraten (absolut keine Zeit momentan, sry): Mit Deiner AFCON1/2 Einstellung legst Du T1G auf den RA4. Wenn Du dann den Timer1 aktivierst übernimmt er den Pin, oder ? Grüße Andreas
>T1OSCEN = 1;//Timer1 Oszillator aktivieren >Wieso das? Damit schaltest du einen Uhrenquarz an T1OSO/T1OSI ein. Kein >Wunder, das RA4/RA% danach nicht mehr als Port zu gebrauchen ist. Du hast recht, genau das war das Problem. Jetzt fällts mir wie die Schuppen von den Augen, hätte ich mir das Blockdiagramm genauer angeschaut, hätte ich es auch gesehen, aber nein, das läuft wie immer, man verrennt sich. Danke für den Tip. >Mit Deiner AFCON1/2 Einstellung legst Du T1G auf den RA4. Wenn Du dann >den Timer1 aktivierst übernimmt er den Pin, oder ? Nicht ganz, man muss dann auch die Funktion im Timer aktivieren. Der Reset-Wert der beiden Register ist eh 0x00, das war reine Probiererei nach dem Motto "vielleicht bringts was" :-)
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.