PIC18F2550 digitaler Eingang RC4

OP #4664259
Lesenswert?

Hallo zusammen,

ich möchte beim PIC18F2550 den Pin RC4 als digitalen Eingang (NICHT USB) 
verwenden. Das Datenblatt sagt, dass dafür folgendes eingestellt werden 
muss:

UCONbits.USBEN = 0;
UCFGbits.UTRDIS = 1;

Ich habe dies so gemacht. Jedoch kann immer noch nicht über den Pin RC4 
eingelesen werden.

Was muss ich tun?

Vielen Dank für die Hilfe!
Gast #4664522
Lesenswert?

Hallo,

vielleicht den Code mal so umschreiben
statt der Do-While so:
while(1)
{
  if(PORTCbits.RC5)
  {
   PORTA=0xFF;
  }

 if(!PORTCbits.RC5)
  {
  PORTA=0x00;
  }
}

Auf welchen Compiler hast Du dein Programm geschrieben? XC8?

PORTA=(PORTCbits.RC5) ? 0xFF : 0x00;

Hab ich noch nie gesehen!

Gruß
#4664523
Lesenswert?

Räum doch den Code bitte erst mal richtig auf, da steht ein Haufen Müll 
drin! UND schreib vernünftige Kommentare dazu.
1
   UCON = 0x00; ist doppelt
2
   UCONbits.USBEN = 0; oh nochmal
3

4
   TRISA = 0xFF;  ist doppelt
5

6
   for(;;)                                                    //for ever
7
   {
8
  
9
PORTA = 0x00;  was soll das?
10
PORTC = 0x00;
11

12
LATA = 0x00;   das hier ist genau das Gleiche! (warum willst du Inputs schreiben?)
13
LATC = 0x00;
Wie prüfst du den Code, Debugger?


<edit> Ähhh.... hast du zwei verschiedene Codes gepostet?
Gast #4666731
Lesenswert?

Harald E. schrieb:
> Ich habe dies so gemacht. Jedoch kann immer noch nicht über den Pin RC4
> eingelesen werden.

Hallo,
kürzlich wollte auch ich RC5, b.z.w RC4 bei einem Pic16f1455 als 
Tasteneingang mit mit Hochziehwiderstand benutzen und hatte Probleme.
Diese zwei Eingänge sind sehr speziell, da sie eigentlich als spezielle 
Datenleitungen für das USB konzipiert sind.
Da ich alle anderen Pins als Ausgänge nutzen musste, musste ich also 
auch ich RC4 od. RC5 benutzen.
Wenn ich mich recht erinnere, konnte ich mir dabei nur helfen, indem ich 
einen tiefen(c.a.1K-Ohm)Hochziehwiderstand nahm und mit einem noch 
deutlich kleinerem Widerstand per Taste auf GND zog.
Ob das beim Pic18f2550 auch so ist?
Sicherheitshalber würde ich keinen tieferen Widerstand als 200 Ohm 
wählen.
MFG Jochen-Paul

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren