mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik EUSART in XX.ASM


Autor: Willi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
eine USART mit PIC 16F876 8Bit Clock 1MHz oder auch 4 MHz  1200 Baud 
läuft einwandfrei, auch mehrere andere Kombinationen (Clock,Baudrate).
Mit der EUSART (erweiterte USART!)  zB. 16F690, 16F1936 etc. läuft es 
einfach nicht.
Hat  jemand eine einfache  lauffähige EUSART !  unter  XX.asm?

Autor: stephan_ (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
poste mal Deinen Code ...

Autor: Willi (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Das sind die 6 Dateien. PIC 16F1936.
100620 Hauptdatei
Header Datei für die 4 USART Dateien

Autor: Bernd Rüter (Firma: Promaxx.net) (bigwumpus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der EUSART kann noch etwas mehr. Da gibt es auch das BRG16-Bit.
Bitte prüfe alle Bits für den Baudratengenerator nach.

Such Dir mal das Proggi PICMULTICALC von Mister E, da kann alles 
berechnet werden und die Bits bzw. Register werden auch benannt.

Autor: Willi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ok. Werde das Programm mal besorgen.
Vielen Dank.
Willi

Autor: Willi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Programm ist ganz gut, finde jedoch keinen Fehler

Autor: Bernd Rüter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Bernd Rüter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei 4MHz Quarz und 1200 Baud sollte die Init-Routine so geändert werden:
XY      ;  feste Eingabe
      BANKSEL  TXSTA
      ;Transmit enable TXEN=1  SYNC=0    BRGH=0
      movlw   B'00100000' ; Sender ein, Baudrate -niedrig
                  movwf   TXSTA       ; nach Sender-Steuerregister Bank 1
      BANKSEL  SPBRG
      ;4MHz 1200 Baud
      ; SYNC=0  BRGH=0  BRG16=0
      movlw  d'51'
      movwf  SPBRG

Woher stammt die Zahl 22 ?


PicMultiCalc meint dazu:
RCSTA = $90   ' Enable serial port & continuous receive
TXSTA = $24   ' Enable transmit, BRGH = 1
SPBRG = 64    ' 1200 Baud @ 4MHz, 0,0%
SPBRGH = 3
BAUDCON.3 = 1 ' Enable 16 bit baudrate generator

Autor: Willi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Bernd,
bei dem Probieren hab ich den Fehler gemacht, aber mit '51' läuft er 
auch nicht los. Er sendet nicht und logischer Weise fragt er das 
Empfangsbit ab und bleibt da stehen.(bei USARTgetch bleibt er hängen.
PICMulticalk:
SPBRG = 64  ?? nach Tabelle SYNC=0,BRGH=1,BFG16=0    20MHz  19200 BAUD
RCSTA = $90   ' Enable serial port & continuous receive
$90 was ist hiermit gemeint ?

Autor: Bernd Rüter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Willi schrieb:
> RCSTA = $90   ' Enable serial port & continuous receive
> $90 was ist hiermit gemeint ?

Der hexadezimale Wert 90 soll in das Register geschrieben werden.

Autor: Willi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Bernd,
auch mit den PicMultiCalc Werten das gleiche Symptom.

Es scheint als ob keiner die EUSART mit Hex-Code programmiert.Oder nur 
wenige benutzen die SS.

Einen schönen Abend und vielen Dank für deine Mühe.
Willi

Autor: Bernd Rüter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Glaub es mir, den EUSART habe ich auch schon benutzt...

i.d.R. bastelt man solche Fehler selbst !!! Habe ich schon oft 
durchgezogen!!!

Autor: Willi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, wahrscheinlich ist es sowas Dummes dass man es übersiehr.
Aber langsam nervt es trotzdem.
Viele Grüsse
Willi

Autor: Willi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Bernd,
die  (E!)USART funktioniert auf einigen anderen PIC's 16F876, 16F688, 
16F722,
16F690 nur senden,
aber mit dem 16F1936 klappt es komlett noch immer nicht. Ich teste worin 
sich die PIC's in ihren Eigenschaften und der CONFIG, oder auch CONFIG's 
unterscheiden.
Nun wird der 16F883 bald eintreffen, (PORT mässig gleich,jedoch keine 
LCD Steuerung wie der 16F1936).
Das ist eine kleine Kurz-Info.
Viele Grüsse
Willi

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.