- LiTime Speicher und Akkus         
Ergebnis 1 bis 5 von 5

Thema: PICDEM-Board, RS232 Stirbt nach übertragung

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    03.06.2011
    Beiträge
    12

    PICDEM-Board, RS232 Stirbt nach übertragung

    Anzeige

    Powerstation Test
    Hallo alle zusammen!

    Ich soll für ein Schulprojekt die Verbindung zwischen dem PICDEM-Board(18F87j11) und einem PC via RS232 Realisieren.
    Genauer gesagt soll es möglich sein einen Kurzen Text vom PC zum PIC zu senden und diesen auf dem Display anzuzeigen.
    Das ganze ist soweit fertig das es möglich ist den Text via Terminal zu senden sodass der PIC ihm empfängt und auch korrekt auf dem Display anzeigt. Nur sobald der Gesendete Text mehr als 3 Zeichen beträgt werden die ersten 4 angezeigt und dann tut sich nichts mehr bis zum
    Reset.

    Meine RS232 Routine:

    Code:
    schleife	
    	btfss	PIR1, RCIF      ;Was am Eingang?
    	goto schleife              ;Nein?.... Warten!
    	movf 	RCREG           ;Ja?....Ab mit den Daten ins Work
    	movwf	writepuffer     ;Vom Work zum Display
    	call	Schreiben      ;Aufs Display schreiben
               goto schleife             ;Auf ein neues
    Ich glaube mich zu erinnern irgendwo mal gehört zu haben das es irgendwas mit dem Empfangpuffer und dessen Überlauf zu tun hat.
    Wenn dem so ist, wie kann ich dann drumherum arbeiten?

  2. #2
    Erfahrener Benutzer Roboter-Spezialist Avatar von -schumi-
    Registriert seit
    30.12.2009
    Ort
    Wasserburg am Inn / Bayern
    Alter
    30
    Beiträge
    449
    Hallo Phyres, und herzlich willkommen im RN

    Deine LCD-Routine hat mit Sicherheit auch einige Warteschleifen, oder? (LCDs sind ja bekanntlich nicht die schnellsten...)

    Während der µC also noch aufs LCD wartet, läuft der Buffer über...

    Lösungsmöglichkeiten:
    • Eine gaaaanz niedrige Baudrate
    • Eine Delay beim Senden (nach jedem Buchstaben)
    • [Eleganteste Lösung] Wenn du z.B. sagen kannst, dass der gesendete Text max. 20 Zeichen hat: Leg ein Array an mit 20 Zeichen an und speicher da den Text rein. Wenn dann das Zeichen für ein Zeilenende kommt rufst du das Unterprogramm fürs LCD auf und schreibst das Array raus
    Viele Grüße
    -schumi-

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    03.06.2011
    Beiträge
    12
    Danke für die Schnelle Antwort
    Ich werde die Möglichkeit mit dem Array versuchen.

    mfg Phyres

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    30.09.2006
    Ort
    Hamburg
    Alter
    41
    Beiträge
    1.013
    Warum nutzt du kein Interrupt ? proling bei UART ist ne beschissene Geschichte vorladendem kannst dann die Daten zum Display senden und der ISR löst erst wieder aus wen neue Daten da sind d.h. du hast etwas Zeit und du kannst den ISR sperren solange das Display noch werkelt.
    Legastheniker on Bord !

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    03.06.2011
    Beiträge
    12
    Danke für den Hinweis. Ich bin davon ausgegangen das ich über Interrupts zum ursprünglichen Problem zurückkomme und mir das Board wieder Abschmiert weil zu viele Daten zu schnell gesendet werden.

    Durch die arraymethode funktioniert die Übertragung soweit, nur habe ich jetzt das Problem das mir auf dem Display statt dem Zeichen komplett Schwarz angezeigt wird. An der Routine kann es nicht liegen denn die hab ich nicht verändert. Kann da was mit der Kommunikation nicht stimmen? Beim dem Letzten versuchen hat das Board nach jeden gesendeten Zeichen mit dem identen Zeichen geantwortet aber jetzt antwortet es nur mit [00]. Ich hab schon ältere Versionen Probiert und überall der selbe Fehler.

Ähnliche Themen

  1. Übertragung zum Board des Soccer Robo 915 funktioniert nicht
    Von Janiboy im Forum Sonstige Roboter- und artverwandte Modelle
    Antworten: 1
    Letzter Beitrag: 04.06.2009, 21:29
  2. Komische Töne nach Übertragung
    Von JellbieO im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 13
    Letzter Beitrag: 12.08.2007, 18:13
  3. Rs232-übertragung
    Von southpole200 im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 2
    Letzter Beitrag: 20.10.2006, 14:26
  4. RS232 Übertragung
    Von elkokiller im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 7
    Letzter Beitrag: 20.08.2006, 18:35
  5. Übertragung aufs Board nicht möglich?
    Von Meto im Forum AVR Hardwarethemen
    Antworten: 3
    Letzter Beitrag: 26.05.2006, 17:11

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

LiTime Speicher und Akkus