Hallo an die PIC Programmierer Folgendes Problem habe ich: #include <g:\bknd\cc5x\mk16f627.h> #pragma config |= 0x3f29 void main() { char t, Flanke; TRISB = 0b.0000.0000; TRISA = 0b.0000.1111; PORTA = 0; PORTB = 3; Flanke = 0; t = 0; hsm = 0; while(1) { if (hsm && Flanke == 1) {Flanke =1; t++;} if (hsm && Flanke == 0) {Flanke = 0;} if (t == 1) {PORTB =5;} if (t == 2) {PORTB =3; t = 0;} } } // Programmende im obengenannten mk16f627.h habe ich bestimmten Ports Bits zugeordnet. (#pragma bit hsm @ PORTA.0 als Taste usw. und #pragma bit rt1 @ PORTB.0) Aus der Headerdatei von CC5X hab ich die TRIS und PORT-bits gelöscht in der Annahme, dass beide Headerdateien eingelesen werden. Zumindest meckert der Compiler mich nicht an. Meine Taster sind an +5V am PortA cmit 1kOhm an Masse, also mit + geschaltet. Nun das grosse aber: funktionieren tut nix ausser PORTB = 3; Programmieren tu ich sonst die schwersten Sachen aber hier ist das doch bestimmt ein einfacher Fehler oder übersehe ich da etwas ??? Füt Tipps bin ich sehr Dankbar. MfG M.Kellner
> #pragma config |= 0x3f29
Geht das so?
Ich hätte jetzt erstmal vermutet dass die configbits alle auf high
stehen und da bringt ein |= ja bekanntlich nix.
>> #pragma config |= 0x3f29 >Geht das so? Ja, bei CC5x macht man das so. Das Problem ist, das auf PORTA nach einem Reset das Comparatormodul aktiv ist. Um auf digital IO umzuschalten muß man CMCON richtig setzen.
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.