mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik MSP430 EZ2500 Uart Puffer


Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo,
mein msp soll über uart daten empfangen und über die rf schnittstelle zu 
einem anderen msp senden. das senden dauert relative lange. was passiert 
mit daten, die während des sendevorgangs an uart ankommen? gibt es da 
einen puffer oder gehen die daten dann verloren?

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die UART an sich kann nur 1 Byte puffern. Da muss dein Programm eben die 
Daten per Interrupt abholen und in einen Puffer schreiben.

Autor: MSP (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hatte der MSP keinen DMA-Kanal für genau solche Sachen ???

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ok das heißt also wenn ich die daten nicht rechtzeitig abhole werden sie 
von neuen überschrieben.
oder teilt der msp dem sender mit, wenn sein empfangspuffer nicht 
geleert wurde? da gibts irgendwein signal, welches zur flusskontrolle 
gesetzt wird bei seriellen übertragungen... weiß leider nicht ob das 
auch bei dem msp zum einsatz kommt.

Autor: Jörg S. (joerg-s)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
In Hardware gibt's keine Flusskontrolle. Sowas müsstest du auch per 
Interrupt und Portpin machen. Ist natürlich sinnlos weil man dann im 
Interrupt auch gleich die Daten verarbeiten könnte.

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die größeren MSP430 haben 3 DMA Kanäle, die sich wunderbar dafür eignen. 
Allerdings muss man dann genau wissen, wieviele Bytes jedes mal kommen, 
sonst endet der DMA-Transfer nie. Ich weiß aber nicht, ob der kleine MSP 
auf dem eZ Board auch DMA kann. Aber das abholen per Int ist doch kein 
Thema. ich habe eine ähnliche Anwendung: MSP430 mit CC2420 als 
Netzwerk-Koordinator am PC. Die Daten vom PC kommen mit 460kBaud am MSP 
an, werden dann über den Transceiver geschickt. Geht wunderbar, ich 
setze halt den Hardware-Handshake ein, wenn ich die Daten vom PC 
bekommen hab, und die Sende-Routine zum CC2420 kommt erst zurück, wenn 
die Nachricht am Empfänger angekommen ist. Erst dann geb ich das 
Handshake wieder frei, übermittle dem PC das Ergebnis der Übertragung, 
und der PC darf erneut senden.

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
die sache mit dem handshake wäre genau das richtige... dann werd ich mal 
das datenblatt danach durchsuchen :)

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Im Datenblatt findest du garantiert nix dazu. Das musst du in deinem 
Programm selber machen. Einfach einen I/O Pin benutzen.

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.