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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.