www.mikrocontroller.net

Forum: Mikrocontroller und Elektronik MSP430 EZ2500 Uart Puffer

Autor: Michael (Gast)
Datum: 02.04.2008 17:07

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: 02.04.2008 17:43

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: 02.04.2008 17:49

Hatte der MSP keinen DMA-Kanal für genau solche Sachen ???
Autor: Michael (Gast)
Datum: 02.04.2008 17:55

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: 02.04.2008 18:03

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: 02.04.2008 18:50

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: 03.04.2008 01:33

die sache mit dem handshake wäre genau das richtige... dann werd ich mal
das datenblatt danach durchsuchen :)
Autor: Christian R. (supachris)
Datum: 03.04.2008 07:51

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 Email-Adresse ist freiwillig. Wenn Sie automatisch per Email über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Suchfunktion und Betreffsuche benutzen - vielleicht gibt es schon einen ähnlichen Beitrag
  • Aussagekräftigen Betreff wählen
  • Im Betreff angeben um welchen Controllertyp es geht (AVR, PIC, ...)
  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang
  • JPEG-Dateien (.jpg) nur für Fotos und Scans verwenden
  • Schaltpläne, Screenshots usw. als PNG oder GIF anhängen

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [pre]vorformatierter Text (z.B. Code in anderen Sprachen)[/pre]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel





Hinweis: der Originalbeitrag ist mehr als 6 Monate alt.

webmaster@mikrocontroller.netImpressumWerbung auf Mikrocontroller.net