Forum: Mikrocontroller und Digitale Elektronik BASCOM Serialin verlaesst Endlosschleife?


von Werner (Gast)


Lesenswert?

Hallo, ich raffe es nicht.

Ich habe ein recht langes, komplexes Programm in BASCOM geschrieben.
Ich habe Stunden nach unerklärlichem Gesucht ....

So ähnlich habe ich auf MEGA8 schon oft gemacht.
Nun soll es ein MEGA16 sein.

Es sah so aus, als mache der 16er nach zufällig 8 bis 120 empfangenen 
Zeichen einen RESET.
Tatsäclich verlässt er

DO
...
LOOP

Main:
...
GOTO MAIN

macht weiter bis zum Ende und kommt über den RESET wieder ???
Ich habe nun alles rausgenommen und xMale verschiedene 16er geflashed.
Im BASCOM Simulator läuft das, im 16er nicht.

Weder die double.lbx noch die TWI.lbx haben etwas damit zu tun.
man kann auch das auskommentieren.

Ob der UART buffered ist oder nicht, kein Unterschied...
BASCOM ist 1.11.9.0 Vollversion.

Hier der letzte Rest, der immer noch nicht geht...

$regfile = "M16def.dat"       ' the used chip
' Master crystal
$crystal = 14745600
$baud = 38400       ' baud rate

$lib "double.lbx"
' We do not use software emulated I2C but the TWI.
$lib "i2c_twi.lbx"

$hwstack = 40       ' use 40 for the hardware stack
$swstack = 40       ' use 40 for the SW stack
$framesize = 40     ' use 40 for the frame space

Config Serialin = Buffered , Size = 10
Config Serialout = Buffered , SIZE = 10

Dim Command AS BYTE

Enable Interrupts


MAIN:
' scan serial port
   command = inkey()
   If command <> 0 Then

      'Print CHR(command);


   END IF

GOTO MAIN

Print "What a shit"

' before your come back in from RESET &%)/"$/&)$

' and it will print this, more or less random after receive on UART

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
Noch kein Account? Hier anmelden.