Hallo, wie kann ich die Zahlen von 0-255 über die serielle Schnittstelle an einen AVR Controller versenden? Ich möchte zB den Wert 211 direkt als ein 8Bit-Wert bzw ein Zeichen aus einem VB-Programm zum Controller senden. Geht das oder bin ich auf die ASCii Zeichen beschränkt ? zB a->65 usw Gruß Günter
Gast
#560463
Vor hatte ich das auch so, aber leider konnte ich es nicht so umsetzten. Ich habe es dann so gemacht, dass mein AVR jedes empfangene Zeichen in einem Arry ablegt. Wenn ich ein bestimmtes Zeichen sende zB.: enter (0xD0) dann wertet der Controller die Ascii sachen mit atoi() aus und fertig. hoffe ich konnte dir nen bischen weiter helfen :) jonny
Gast
#560469
Das UARt versendet Bytes. ie Frage ist was auf der anderen Seite damit geschieht. Wenn's im HTerm oder so sichtbar gemacht werden soll ist das was anderes als wenn man eine PC Applikation schreibt. Also das UART kann binaer, es kennt keine codierung. Einfach reinschhieben, und gut ist.
Gast
#561248
Hallo, im Moment sende ich die Daten aus einem VB2005 Programm: Beispiel: SerialPort1.WriteLine(avr_ausg_text + "#") Gruß Günter
In VB2005 kannst du SerialPort1.Write(b, 0, b.Length) verwenden, wobei b() ein Array von Bytes sein muss. In deinem Fall mit einem Element. In VB6 geht's auch mit dem MSCOMM, allerdings hab' ich grade nicht im Kopf, wie das genau aussehn muss. Aber probier's doch mal so: MSComm1.Output = b (b Ist ein einzelnes Byte). Das müsste er eigentlich direkt so ausgeben. Wenn ich mich recht erinnere, gibt's auch noch eine Eigenschaft um zwischen Text- und Binärmodus umzuschalten.
Gast
#561458
ich sage mal sprintf(ziel,"%coder %d",&uart) tuts
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.