Aus RN-Wissen.de
Wechseln zu: Navigation, Suche
Rasenmaehroboter Test

Full oder Half-Duplex?

Sollte dazugesagt werden, ob das Verfahren full- oder halbduplex arbeiten kann.

--PicNick 14:38, 7. Feb 2006 (CET)


Vom Konzept her hatte ich es als full duplex ausgelegt. Momentan denke ich auch, daß die Timer-Lösung das leistet. Allerdings ist das natürlich auch abhängig davon, was sonst so im System abgeht, insbesondere die Interrupt-Last und respond Zeiten. Falls die hoch werden, ist zu erwarten, daß die Übertragung nicht mehr immer korrekt ist, weil die Zeiten nicht eingehalten werden. Dadurch sampelt man nicht mehr in der Mitte eines Bits bzw. das Signal fängt an zu jittern, man verpasst Zeichen. Das Verpassen sollte durch eine FIFO entschärft werden. Alternativ wäre an eine HW-Flussteuerung zu denken, zumindest in eine Richtung. Eingehende Analysen hab ich nicht gemacht und auch nicht die Mittel dazu. Falls du Vorschläge hast, können die ja eingebaut werden, oder falls du ne Stelle siehst, warum es nicht voll Duplex ist.

--SprinterSB 11:30, 8. Feb 2006 (CET)


Sollte keine Kritik sein. Ich hab zusammen mit einen Forum User mal die entsprechende AVR-Appl-Note f. Soft Uart durchgezogen, mir reicht es :-) . --PicNick 19:44, 8. Feb 2006 (CET)

Senden ohneStart/Stop/Parität ?

TurboFischer schrieb:

Hallo,
ich bin neu hier und hab deinen Beitrag im Wiki über den Software Uart gesehen. Jetzt hätte ich da eine Frage dazu. Ich brauche für mein Projekt nur einen Teil und zwar um Daten zu übertragen, empfangen brauch ich nichts.
Jetzt wollte ich fragen ob es möglich ist Daten ohne Start-, Stop- und Paritätsbit zu senden? Also rein nur die Daten das die in der eingestellten Baudrate an dem definierten PIN ausgesendet werden? Wenn ja wie man das realiesieren könnte bzw. was man ändern müste.
Wäre über deine Hilfe sehr dankbar. Vielen Dank im Voraus.
Mit freundlichen Grüssen
Thomas

Das Paritätsbit wird ohnehin nicht bedient, die Software implementiert 8N1.

Ob Code für Empfänger/Sender erzeugt wird, sollte durch die Defines SUART_RXD resp. SUART_TXD zu steuern sein, weil nur mit gesetzten Defines die Codesequenzen eingeblendet sind.

Um Start/Stop zu vermeiden machst du folgende Änderung in uart_putc:

   // frame = *.7.6.5.4.3.2.1.0  *=Endemarke(1)
   outframe = (1 << 8) | ((uint8_t) c);

Aber ich vermute mal, weder Start noch Stop zu senden ist nicht das, was du willst...

fifo_init

Frage als Neuling: Müsste die FIFO nicht in der funktion uart_init initialisiert werden?


LiFePO4 Speicher Test