www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AT91SAM7X256: RS232 Senden ist super langsam?


Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
Wenn ich die RS232 so konfiguriere:
AT91F_US_Configure (AT91C_BASE_US0,
                      AT91B_MCK,
                      AT91C_US_ASYNC_MODE,
                      115200,
                      0);  // <--- NULL!
dann läuft alles normal.
Mache ich es aber so:
AT91F_US_Configure (AT91C_BASE_US0,
                      AT91B_MCK,
                      AT91C_US_ASYNC_MODE,
                      115200,
                      0x8c0); // <--- 8 bits char length, no parity
dann ist das Senden (vom AT91 zum PC), obwohl fehlerfrei 
suuuuuperlangsam (als würde ich mit 9600 baud senden).
Das Senden läuft in beiden Fällen so:
      while (0 == (AT91C_BASE_US0->US_CSR & AT91C_US_TXRDY)); // wait for free TX register
      AT91C_BASE_US0->US_THR = (UINT8)b;  // Send now
Woran kann das liegen???
Danke für alle Tips ;)

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
Ich habe jetzt herausgefunden, dass es an der '8 bits character length' 
Einstellung liegt (CHRL im US_MR). Setze ich die auf '5 bits pro 
Zeichen', dann ist es wieder schnell. Sehr merkwürdig...?

Autor: JJ (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hm, ich habe gerade nur das Datenblatt und die Header des AT91S hier.
Aber wenn ich mir dort die Funktion "AT91F_US_Configure" anschaue, dann 
ist das was du zum einstellen von Wortlänge und Parity nutzt nicht 
dafür, sondern um den Timeguard zu konfigurieren.
Das wiederum bedeutet das du dir ein Delay schaffst.
Gruß

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du hast recht, ich hab' mich voll verguckt.
Danke!
Mann, bin ich ein TROTTEL :-(

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.