UART am PIC16F877A funktioniert nur teilweise

OP #3110707
Hallo,
ich habe folgendes Problem. Ich habe hier ein RC Auto was ich über den 
PIC steuern möchte. Wenn ich meinen umgerüsteten PC Netzteil als 
Spannungsquelle für den µC nehme funktioniert UART. Wenn ich aber von 
Fahrtregler die Spannung (4.97V) nehme funktioniert das Senden und 
Empfangen nicht.
Die Batterie ist neu und wurde voll aufgeladen. Die Servosteuerung 
funktioniert auch ohne Probleme. Habe es mit einem zweiten (gleichen) 
PIC probiert doch es ist das gleiche Problem.

Ich hoffe ihr habt ein paar tipps für mich.

mfg

Hamo61
Angehängte Dateien:
Gast #3111056
> Wenn ich aber von Fahrtregler die Spannung (4.97V) nehme funktioniert das
> Senden und Empfangen nicht.

Wo ist die Gnd-Verbindung? Kann man auf dem Foto nicht wirklich 
erkennen.
Gast #3111093
Hamza K. schrieb:
> Wenn ich aber von
> Fahrtregler die Spannung (4.97V) nehme funktioniert das Senden und
> Empfangen nicht.

Kann eine Störung sein. Abblockkondensatoren direkt am Pic (zwischen 5v 
und 0v) sind ein erster Schritt.
OP #3111177
Danke für die vielen Antworten.
Mein C-Code ist sehr simpel. Den habe ich von der Library übernommen. 
Arbeite mit MikroC pro for PIC.
1
char uart_rd;
2
void main() {
3

4
  UART1_Init(9600);               // Initialize UART module at 9600 bps
5
  Delay_ms(100);                  // Wait for UART module to stabilize
6

7
  UART1_Write_Text("Start");
8
  UART1_Write(10);
9
  UART1_Write(13);
10

11
  while (1) {                     // Endless loop
12
    if (UART1_Data_Ready()) {     // If data is received,
13
      uart_rd = UART1_Read();     // read the received data,
14
      UART1_Write(uart_rd);       // and send data via UART
15
    }
16
  }
17
}
Ich vermute nicht, dass es am Quelltext liegt sondern eher wie "Der 
Rächer der Transistormorde" oder "Erich" meinten, dass da irgendwelche 
Störungen sind. Meines Wissens ist ein 7805 Spannungsregler im 
Fahrtregler verbaut, denn die Batterie hat eine Spannung von 7,8V. Auf 
dem Bild rechts ist der Fahrtregler zu sehen. Da hab ich die 5V an den 
roten und GND an den blauen Streifen verbunden. weiter unten hab ich 
auch die Verbindungen auf die linke Seite gepackt, was man aber nicht 
auf der Bild sieht.

Verschaltet habe ich mienes Wissens alles richtig.
10kOhm zwischen MCRL und 5V
5V an VDD auf der linken und der rechten Seite
Gnd an VSS auf der linken und rechten Seite
20 MHZ Osszillator mit 2 Kondensatoren mit GND
auf der linken Seite ist die Servoverbindung
und rechts diese 2 losen Stecker sind meine Uartverbundung (RX und TX)

@Der Rächer der Transistormorde
soll ich einen Kondensator zwischen VDD und VSS anbringen (links und 
rechts)?
was für Kondensatoren empfiehlt es sich da hinzutun?

ps. Habe leider aus finanziellen Gründen kein Oszilloskop da :(



Hamo61
OP #3111478
So habe nun GND vom USB mit GND vom Board verbunden. Siehe da, alles 
klappt.
Ich danke euch vielmals für die Hilfe darauf wäre ich niemals von 
alleine gekommen. Aber ich würde gerne wissen woher ihr das wusstest, 
dass es daran liegen muss?
Gast #3111528
> Aber ich würde gerne wissen woher ihr das wusstest, dass es daran liegen
> muss?

Wussten 'wir' nicht. Aber es durfe vermutet werden - ist ein 
Standardfehler :-)

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 13 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.