Hallo, vieleicht kann mir jemand helfen. Hab mir eine Platine gebaut an der ich Servos anschließen kann. Auf dieser ist ein Atmega zur Steuerung. Jetzt will ich mit dem PC über RS232 Daten an den Atmega senden. Das geht auch soweit ganz gut. Leider sind das aber ASCII zeichen. SO versteh ich das. Wenn ich z.B den Wert "50" per Hyperterminal sende kommen die Zahlen "13,10,53,48" an. Ich brauche aber die Zahl 50. Das ganze hab ich in Bascom geschrieben. Der Servo braucht ja den wert als Byte. Hoffe jemand kann mir da weiterhelfen. Leider kenn ich mich nicht so gut aus. Danke Matthias
Ich kenne zwar den Atmega nicht und auch das Bascom, aber das Prinzip ist mir klar. Dann musst Du einfach von Deinem PC-Programm den Wert '50' übertragen, sozusagen, das Zeichen mit dem Wert 50. Das sieht in C etwa so aus: sprintf( text, "%c", zeichen ) oder direkt eine Funktion zum binären Übertragen wie "WriteFile" Bei der RS2323 musst Du dann aber darauf achten, 8Bit zu übertragen, wenn Du WErte oberhalb 128 brauchst. Gruß Christian
Der ASCII Code für eine '0' ist 48. Den musst du von jedem empfangenen ASCII Byte abziehen. Dann bekommst du den Wert für die jeweilige Stelle. (53-48) = 5 (48-48) = 0 5*10 + 0 = 50
Hai, 1. Grundsätzlich ist Hyperterminal sch......! 2. Wenn "13,10,53,48" ankommt und Du hast "50" gesendet, hast Du die ankommenden Zahlen falsch abgeschrieben, oder sie sind durch ein Wurmloch entkommen. 3. Wenn bei Dir "53,48,13,10" ankommt, hast Du das Wurmlochproblem gelöst! 4. Wenn Du in BASCOM die Hilfe benutzt hättest, findest Du unter dem Suchwort 'ASCII': Den zweiten Treffer - UART Hier steht unter 'Example:' Print Print "Now try the enter key..." Akey = Waitkey() Akey = Waitkey() Print Akey Print Print "The number you see is the ASCII value of the key you pressed." Print "We need to convert the number back to the key..." Print 'Notice what this line does Print "Please try an alphanumerical key again..." Akey = Waitkey() Print Chr(akey) 'Notice what this does Print "That's fine!" 5. Jetzt kannst Du Dir sogar die ASCII-Tabelle unter dem Befehl ASC() (dem ersten Treffer) in der BASCOM Hilfe angucken oder hier: http://de.wikipedia.org/wiki/ASCII-Tabelle Servus,
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.