www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Usart mit 9Bit in Bascom; Daten an Terminal schicken


Autor: Humsti (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe wieder mal ein Problem und komme einfach nicht weiter.

Zur Hardware: Ich habe eine kleine Terminalbox mit einem M8 und einem 
LCD.

Nun möchte ich von meinem Board (MYAVR) an dieses Terminal was senden 
und dieses soll auf dem 2x16LCd angezeigt werden.

Das Protokoll ist ein 9P1.

Was ich weis ist, dass ich ein Paket mit 34 Bytes senden muss. Das erste 
und das letzte Byte ist ein Steuerbyte mit dem neunten Bit=0. Die 
restlichen 32 Byte dazwischen sind Textbytes und haben beim neunten Bit 
=1. Das ist der Text, der nachher auf dem 2x16 Display angezeigt wird.

Verwendet wird eine 1-wire RS232 Verbindung.

Nun habe ich absolut keinen Plan, wie ich das senden soll. Das 
Signalkabel ist sowohl auf dem TX als auch auf dem RX Pin des M8.

Was ich herausgefunden habe ist, dass ich das neunte Bit in das TXB8 des 
UCSRB schreiben muss und natürlich vorher noch das TXEN einschalten 
muss. Danach muss ich meine Daten in das UDR schreiben.

Doch wie ich das in BAscom anstelle weis ich leider gar nicht...Ich 
hoffe auf einen guten Rat von euch. Bin echt schon verzweifelt.

Danke,
Daniel

Autor: Humsti (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hat denn niemand eine Idee von euch?

Ich bin leider Neuling in Bascom, aber für euch Profis sollte das ja 
super schnell gehen ;o)

LG

Autor: STK500-Besitzer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Ich bin leider Neuling in Bascom, aber für euch Profis sollte das ja
>super schnell gehen ;o)

Ich habe auch keine Ahnung von Bascom, aber im Datenblatt des 
Controllers steht, wie man 9bit-Kommunikation aufbaut.
Dann muss man nur noch ein paar magische Worte in Bascom eintippen und 
alles ist gut.

Autor: Humsti (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
jaja die magischen worte ;o)
die fehlen mir...leider

Aber kannst du mir vielleicht mitteilen, wie ich ein byte definiere, 
damit es 9 bit hat? oder besser, was muss ich tun, wenn ich zb. den 
Buchstaben "A" einmal mit dem 9.Bit=1 und einmal mit dem 9.bit=0 
übertragen kann? Wie kann ich dem Buchstaben A die Bits zuweisen?

Ein Programmierer wird sich jetzt sicher fragen, Mann, was will der denn 
;o)

Lg

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

>Aber kannst du mir vielleicht mitteilen, wie ich ein byte definiere,
>damit es 9 bit hat? oder besser, was muss ich tun, wenn ich zb. den
>Buchstaben "A" einmal mit dem 9.Bit=1 und einmal mit dem 9.bit=0
>übertragen kann? Wie kann ich dem Buchstaben A die Bits zuweisen?

Ich habe eigentlich auch keine Ahnung von Bascom. Aber es unterstützt 
doch laut Bascom-Hilfe den 9-Bit-Mode ->'config com1/com2/comx'. Eine 
andere Variante wäre, die UART-Register direkt zu beschreiben (evtl 
ASM). Dann hast du die volle Kontrolle.

MfG Spess

Autor: Avr Nix (avrnix) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Steht doch in der Hilfe in Bascom -> Index -> Config com1

Action

Configures the UART of AVR chips that have an extended UART like the M8.

Syntax

CONFIG COM1 = baud , 
synchrone=0|1,parity=none|disabled|even|odd,stopbits=1|2,databits=4|6|7| 
8|9,clockpol=0|1

Remarks

baud
 Baud rate to use. Use 'dummy' to leave the baud rate at the $baud 
value.

synchrone
 0 for asynchrone operation (default) and 1 for synchrone operation.

Parity
 None, disabled, even or odd

Stopbits
 The number of stop bits : 1 or 2

Databits
 The number of data bits : 4,5,7,8 or 9.

Clockpol
 Clock polarity. 0 or 1.

http://www.comwebnet.de

Autor: Humsti (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank,

das hilft gut weiter, das hab ich schon einprogrammiert!

Kann ich nun mit dem Einfachen Print Befehl Bytes wegschicken?

Oder muss ich, wie in der M8 Doku, hier mit den Registern arbeiten wie 
ucsrb, TXB8? oder macht das eben schon bascom mit dem config com?

Ich weis, für euch triviale Fragen, aber jeder muss mal klein anfangen!

Lg

Autor: Humsti (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ah, ich seh gerade mit print alleine sollte das funktionieren....

Autor: Humsti (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bitte noch einmal um Hilfe:

Angenommen ich muss folgendes senden:

/FE/Hallo ich bin noch ein Neuling../FF/

Das sind 34 bytes, das erste byte und das letzte byte ist ein 
Steuerzeichen.(HEX) Da gehört Bit9=0.
Dazwischen die 32bytes sind Textzeichen.Da gehört Bit9=1.

Sonst kennt sich das Terminal nicht aus.

Könnt ihr mir bitte nun helfen, wie ich das mit dem 9.bit zuordne, damit 
es einmal 0 und einmal 1 ist?

Dann wäre ich fertig ;o)

DANKE!
Lg

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Musst du im entsprechenden UART Register setzen. Was steht denn in der 
BASCOM Hilfe dazu?

Autor: Chris W. (verleihnix85)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So wie ich das sehe willst du etwas auf der Jeti box anzeigen.
Ich komm selber nicht weiter. Das 9. bit ist bei mir in C kein Problem. 
Hast du schon was erreicht? Bei mir kommt immer Communication Error.

Gruß Christian

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

Meines Wissens kann der PC keine 9-Bit.

MfG Spess

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.