Forum: Mikrocontroller und Digitale Elektronik Datenrahmen für serielle Datenübertragung ändern


von Stefan M. (stefanbsa)


Lesenswert?

Hallo liebe Bascomfreunde,

ich möchte mit einem 89c2051 ein paar Hex Daten über die serielle 
Schnittstelle übertragen, ich nutze derzeit den PrintHex Befehl in 
Bascom8051, ich habe jetzt allerdings das Problem das bei diesem Befehl 
Parity=N ist und ich benötige Parity=Even, ist es möglich die Paritybits 
zu ändern? Vielleicht hat ja jemand eine Lösung, wäre euch echt dankbar!

Möchte 8 Datenbits, 1 Parity Bit und ein Stopbit

Gruß Stefan

von Spess53 (Gast)


Lesenswert?

Hi

>ich nutze derzeit den PrintHex Befehl in
>Bascom8051, ich habe jetzt allerdings das Problem das bei diesem Befelh
>Parity=N ist und ich benötige Parity=Even, ist es möglich die Paritybits
>zu ändern?

Sollte das nicht in der Konfiguration der UART geregelt werden?

MfG Spess

von Stefan M. (stefanbsa)


Lesenswert?

Vielleicht stehe ich etwas auf der Leitung, ja da sollte es geregelt 
werden, aber was muss ich dort einstellen? In der Doku von Bascom8051 
finde ich leider nichts, unter Bascom AVR kann ich es einfach unter 
Config Com ändern... nur leider muss ich so nen alten Chip nehmen und 
deshalb Bascom8051

von Spess53 (Gast)


Lesenswert?

Hi

Bist du sicher, das der Controller überhaupt ein Parity-Bit kennt?

MfG Spess

von Stefan M. (stefanbsa)


Lesenswert?

Zumindest kann ich mein Steuergerät welches ich darüber ansprechen will 
nur ansprechen wenn ich am PC 2400Baud Databits=8 Parity=E und 
Stopbits=1 einstelle.
Ich möchte per HEX den Code 4F 3A1 3B D6 senden mehr nicht. Dazu müßte 
ich jedoch den Datenrahmen ändern da der Standardrahmen (Print-Befehl) 
von Bascom 2400Baud 8Bits Parity=No Stopbits=1 ist.

von Peter D. (peda)


Lesenswert?

Stefan Müller schrieb:
> nur leider muss ich so nen alten Chip nehmen und
> deshalb Bascom8051

Dem Chip ist das egal.

Warscheinlich ist das Setzen der Parity in Bascom51 einfach nicht 
implementiert worden.
Dann könntest Du Dir in Assembler eine Ausgaberoutine mit Parity 
schreiben.


Peter

von Bernd R. (Firma: Promaxx.net) (bigwumpus)


Lesenswert?

Gibt es neben dem PrintHex-Befehl auch noch etwas um die Schnittstelle 
zu öffnen und zu konfigurieren ? Da sollte diese grundsätzliche 
Einstellung vorgenommen werden.

von avr (Gast)


Lesenswert?

Also 8051 etc. ist etwas her aber das kenne ich noch.

Ohne Hilfe kann er kein Parity. Es gibt aber auch Übertragung
mit 9 Bit. Dazu muß man im Controllregister den Mode passend
setzen. Ebenfalls im Controllregister gibt es je 1 Bit für
senden und empfangen welches als Parity genutzt werden kann.
Die Berechnung muß man selber machen.
Wenn es nur feste Werte/Texte sind kann man das Parity mit in
die Tabelle aufnehmen.

avr

von hans hoch (Gast)


Lesenswert?

schau mal in der 8051 dokumentation nach TB8 ( te_be_acht )
das macht Mann mit Assembler.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.