robo_wolf,

damit das Testen vom PC aus besser geht, habe ich mein eigenes Terminalprogramm etwas umgeschrieben und hänge es hier an. Es ist mit der heissen Nadel gestrickt um deshalb nicht garantiert wanzenfrei.

Die Parameter der seriellen Schnittstelle am PC lassen sich über das Menu „RS232“ einstellen; die Bedienung ist ziemlich selbsterklärend. Die einmal getroffenen Einstellungen werden bei jedem Start wieder geladen.

Im „Empfangsprotokoll“ erscheinen alle vom ATmega empfangenen Botschaften. Hier sind keine Eingaben möglich. Die Datenbytes werden mit je zwei HexChars dargestellt, der Botschaftskopf (0x0D) als „<“ und das Botschaftsende (0x0A) als „>“. Jede Botschaft wird in einer eigenen Zeile ausgegeben.

Man kann das gesamte Protokoll speichern oder löschen. Man kann aber auch beliebige Teile des Empfangsprotokolls markieren und mit „Daten->kopieren“ in das Clipboard befördern. Von da aus kann man sie, z.B. in eine Rechentabelle oder ein Textdokument übernehmen.

Die "Botschaftszeile" ist für die Eingabe da. Was hier eingetippt wird, wird über die serielle Schnittstelle an den ATmega auf dem STK500 weitergeschickt. Es lassen sich nur HexChars eingeben. Jedes Zeichen muss mit einem Leerzeichen abgeschlossen werden. D.h. für ein ASCII-Zeichen müssen zwei Zeichen eingeben werden und dann das Leerzeichen. Z.B. wenn eine "0" gesendet werden soll, muss "30 " eingetippt werden. Der Wert eines Zeichens darf 255 nicht überschreiten, sonst gibt's eine Fehlermeldung (Pieps). Beispiel: Um ein Byte mit dem Wert Null (0x00 = in ASCII „30 30“) an den ATmega zu senden, muss man die Botschaft „0D 30 30 0A“ eintippen. Um die zwei Bytes Null (0x00 = in ASCII „30 30“) und Eins (0x00 = in ASCII „30 31“) zu schicken, muss die Botschaft „0D 30 30 30 31 0A“ lauten, usw.

Mit dem Programm sollte es leicht sein, die Funktion der PC<->ATmega/STK500-Verbindung auszutesten.

Ciao

mare_crisium

EDIT: Leider ist meine Upload-Quote noch nicht hochgesetzt worden (habe gespendet ). Deshalb fehlt der Anhang mit dem gezippten Terminalprogramm.