PIC antwortet nicht (UART)

OP #4197228
Lesenswert?
• ▲
▼
Hallo Zusammen,
ich habe einen PIC18F14K50 mit dem ich eine einfache Kommunikation über 
UART aufbauen will.

Ich programmiere mit MikroC und habe dort auch schon diverse Demos und 
exsample Codes ausprobiert, doch immer mit dem selben Ergebnis.

Hier ein Beispiel:
1
void newline()
2
{
3
     UART1_Write(13);
4
     UART1_Write(10);
5
}
6

7
void main()
8
{
9
     unsigned char MyError, Temp;
10
     TRISB = 0b10100000;
11
     UART1_Init(9600);
12
     Delay_ms(100);
13
     UART1_Write_Text("Testing UART! ");
14
     newline();
15
     do { 
16
         UART1_Write_Text("Type in a Number: ");
17
         while(!UART1_Data_Ready());
18
              Temp = UART1_Read();
19
              newline();
20
              UART1_Write_Text("You entered: ");
21
              UART1_Write(Temp);
22
              newline();
23
     } while(1);
24
     
25
}

Wenn ich das nun in Proteus teste oder auf den PIC schreibe, dann 
bekomme ich im Terminal zwar die Texte angezeigt ("Testing UART!" und 
"Type in a Number") aber es gibt bei der Eingabe keine reaktion.
Also egal was ich an den PIC sende, es kommt nichts zurück.

Es scheint so (und das zeigen auch einige Tests), dass 
"UART1_Data_Ready()" niemals True wird.

Hat jemand eine Idee, warum ein so einfaches Ding nicht laufen will?

Gruß Numax
Angehängte Dateien:
OP #4197314
Lesenswert?
• ▲
▼
Ich sende mit dem PICKit Serial Analyzer.
Dieser ist mit dem Pic verbunden und empfängt ja die Daten die zuvor als 
Texte übertragen werden.
Der Text "Testing UART!" kommt ja am PC an. Nur der Pic empfängt keine 
Daten bzw. gibt diese nicht an den PC zurück.

Ich denke, das es noch ein Fehler im Programmcode sein muss, aber diesen 
finde ich nicht.
Muss irgendwas in den Konfigurations-Bits des PICs eingestellt werden, 
damit der PIC Daten empfängt?
OP #4197323
Lesenswert?
• ▲
▼
Ahh, nun geht es.

Er soll das Empfangen was ich ihm sende, also einen Hexadezimalwert oder 
ASCII-Zeichen.

Nun geht es, ich musste die Ports auf Digital setzen.
Erst hatte das nicht so wirklich funktioniert, woraufhin ich diese 
Codezeile gelöscht habe. Diese habe ich dann aber vergessen wirder 
einzufügen.

Nun geht es, Vielen Dank.

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.