www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Serielle Schnittstelle mit 7 Bit None Parity


Autor: Marek Swierzy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,
für eine Anwendung brauche ich die möglichkeit 7-Bit ohne Parität an
einem 8051 zu empfangen.
In allen Büchern die ich finden konnte stand nur, dass der Controller
mit 8 Bit arbeitet.
Sprich 7 Bit und Even/Odd Parität.
Wie lässt sich dass Problem am einfachsten lösen ?


Danke und MfG


Marek Swierzy

Autor: peter dannegger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn der Sender 2 Stopbits sendet, gehts auch, einfach das 8. Bit
wegschmeißen.


Peter

Autor: Olaf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn du nur empfangen willst koenntest du ja 8Bit empfangen und
ein Bit ignorieren.

Aber nur so mal aus reiner Neugier, was ist denn das fuer eine
merkwuerde Gegenstelle?

Olaf

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Olaf: Nope, gibt nen framing error wenn der Sender mit nur einem
Stopbit arbeitet, weil zu dem Zeitpunkt, zu dem der Empfänger das
Stopbit sehen will, der Sender bereits das Startbit rauswirft.

Autor: Marek Swierzy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Leider nicht, ich kann nicht verändern.

9600 Baud, 7 Bit, None Parity, 1 Stopbit...
Aber irgendwie muss es ja machbar sein, am PC kann ich mir die Sachen
auch dem entsprechend einstellen.

Autor: Marek Swierzy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich würde sogar andere Hardware dafür bauen, wenn mir jemand sagen kann
womit es realisierbar ist.

Autor: Stefan Kleinwort (_sk_)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Ich würde sogar andere Hardware dafür bauen, wenn mir jemand sagen
>kann womit es realisierbar ist.

Die ATmega-Serie erlaubt zwischen 5 und 9 Bit.

Gruß, Stefan

Autor: Marek Swierzy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Klasse :) ;

kann mir jemand jetzt ne StarterKit empfehlen mit dem ich dass folgende
Projekt realisieren könnte:

232 in  -> 7 Bit ; none Parity ; 9600 Baud
232 out -> 8 Bit ; none Parity ; 9600 Baud

Danke

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Problem: mit 7 Bit rein und mit 8 Bit raus bei gleicher Bitrate gibt
Datenstau im Konverter.

Gibt's denn keine halbduplex Software-UART für i51? Der Empfänger-Teil
davon reicht ja, mit 8-bit Hardware senden ist kein Problem.

Autor: Marcel Pokrandt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Problem: mit 7 Bit rein und mit 8 Bit raus bei gleicher Bitrate gibt
Datenstau im Konverter.

Na aber nur, wenn die 9600 Baud wirklich über längere Zeit voll
ausgelastet sind... Sonst würd ich sagen, einfaches C-Projekt anlegen,
die Fleury UART-Bibliothek einbinden, im H-File den In-Puffer größer
machen, denn noch ne kleine Routine machen, die alles annimmt und
gleich wieder ausgibt und fertig ist die Sache. Sind die 9600 Baud bei
der Ausgabe auch fix?
Wenn nicht, wärst sowieso fein raus. Bei 9600 Baud ist problemlos ein
SW-Uart möglich und man könnte die mit 8Bit und ner höheren
Geschwindigkeit wieder rausschicken.

Autor: Marek Swierzy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
9600 Baud sind bei der Ausgabe fix.
Müste dass nicht über einen RingPuffer lösbar sein ?
Ich hoffe der Umstieg von C51 nach AVR wird nicht all zu schwer.

Autor: Marcel Pokrandt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Müste dass nicht über einen RingPuffer lösbar sein ?

Ja, mein ich doch... nichts anderes ist in der Fleury-Lib bereits
eingebaut. Du, das bekommst schon hin. Das ist keine große Sache. Musst
dir nur überlegen, wie groß der Puffer sein muss und evtl. anhand dessen
den uC auswählen. Der AtMega32 hat z.B. 2k Ram - die Hälfte könnte man
als Puffer nutzen - das sollte reichen, um knapp 1sec. komplett Daten
zwischenzuspeichern - aber vielleicht reicht bei dir auch weniger.
Voraussetzung, dass das ganze funktioniert ist aber wie gesagt, dass
die serielle Leitung nicht 100% ausgelastet ist... sonst läuft der
Puffer über

Autor: Marek Swierzy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
na klasse.....
hmmm gibt es nicht ist jemanden eine andere methode nicht bekannt ?


mfg

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.