Hallo,
jetzt hab ich mein erstes Bascom-Programm geschrieben und schon kommen die Probleme.
Da ich für spätere Anwendungen eine serielle Befehlsübergabe angedacht habe,
hab ich mich zuerst (nach dem Demoprogramm zum RN-Controller it ATMEGA32) mit der
Eingabemöglichkeiten über die Tastatur mit RS232 beschäftigt.

Also so Sachen wie Print, Inkey(), Ischarwaiting() und Waitkey()....
Diese Dinge funktioniern auch im Simulator sehr gut,
wenn ich das Programm aber in den Controller übertrage und den Terminal-Emulator
zur Kontrolle verwende, dann startet das Programm unregelmässig wieder neu.
Es scheint so, als würde ab und zu (nach 5-10 Tastatureingaben) ein Reset ausgeführt.
Vielleicht liegts ja an der BasCom-Version ( 1.11.8.1 ) oder an den Einstellungen,
oder..oder..oder..oder..keine Ahnung - es ist ja mein erstes Basicprogramm.

Vielleicht kennt ja jemand die Lösung des Problems..
für Hilfe wäre ich sehr dankbar!

Hier ist mein Testprogramm:

Code:
$regfile = "m32def.dat"
$framesize = 128
$swstack = 128
$hwstack = 128

$crystal = 16000000
$baud = 9600

Dim A As Byte
Dim Taste As Byte

Print "***** RN-Control 1.4 *****"
Print "Teste die Terminal-RS232-Eingabe"
Print "***************************"

Print
Print
Print "TEST 02 -  InKey bis ESC"

A = 0
While A <> 27
  A = 0
  While A < 1
      A = Inkey()
   Wend

   Select Case A
      Case 0 : Print "<<<< 0 >>>>"
      Case 48 To 90 : Print "Test 02  : Tastatur-Code " ; A ; " => " ; Chr(a)
      Case 97 To 122 : Print "Test 02  : Tastatur-Code  " ; A ; " => " ; Chr(a)
      Case Else : Print "Test 02  : Tastatur-Code..." ; A
   End Select
   Waitms 250

Wend

Print "TEST 02   beendet....."


Print
Print
Print "TEST 01  Test von Ischarwaiting() bis ESC"
Do
   A = 0
   Taste = Ischarwaiting()
   If Taste = 1 Then
      A = Waitkey()

     Select Case A
       Case 48 To 90 : Print "Test 01 : ASCII-Code " ; A ; " => " ; Chr(a) ; "   von Tastatur"
       Case 97 To 122 : Print "Test 01 : ASCII-Code " ; A ; " => " ; Chr(a) ; "  von Tastatur"
       Case Else : Print "Eingabe nicht darstellbar"
     End Select
     Waitms 250
   End If

Loop Until A = 27
Print "TEST 01    beendet....."

Print
Print
Print "********* ENDE *********"

End
Mit den Code-Tags wird das übersichtlicher (PicNick)