Harry252
19.08.2007, 22:18
Hallo,
ich interessiere mich in letzter Zeit sehr für die µC-Technik.
Seit einigen Tagen habe ich versucht Assembler und Basic(Bascom) zu lernen!
Aber bei Assembler hab ich kein Land gesehen! Basic scheint mir etwas mehr zu liegen! Habe irgendwann mal vor mir einen Aquariencomputer zu bauen, will aber erstmal ganz klein anfangen!
Nun zu meinem Problem:
Habe mir einen kleinen Code geschrieben. Wird nur mit Bascom simuliert, da ich es mir noch nicht zutraue das Geld in die Technik zu investieren!
$regfile = "m32def.dat"
$crystal = 4000000
$baud = 9600
$sim
Enable Interrupts
Dim A As Bit
A = 0
Config Porta.0 = Input
Config Portc.0 = Output
Reset Porta.0
Reset Portc.0
Print "Hauptprogramm"
Goto Hauptprogramm
Hauptprogramm:
Do
If Porta.0 = 1 Then Gosub Temp.01
If Porta.0 = 0 Then Gosub Temp.11
Loop
Temp.01:
If A = 0 Then Gosub Temp.02
If A = 1 Then Gosub Hauptprogramm
Return
Temp.02:
A = 1
Portb.0 = 1
Print "Temp.HIGH, Vent. ON"
Return
Temp.11:
If A = 1 Then Gosub Temp.12
If A = 0 Then Gosub Hauptprogramm
Return
Temp.12:
A = 0
Portb.0 = 0
Print "Temp.LOW, Vent. OFF"
Return
End
Bei diesem Code bekomme ich nach einigen Sekunden eine Fehlermeldung (Integer Overflow)!
Könntet ihr mir sagen woran das liegt und was ich dagegen machen kann?
Vielen dank schon mal im Voraus!
MFG
Harry
ich interessiere mich in letzter Zeit sehr für die µC-Technik.
Seit einigen Tagen habe ich versucht Assembler und Basic(Bascom) zu lernen!
Aber bei Assembler hab ich kein Land gesehen! Basic scheint mir etwas mehr zu liegen! Habe irgendwann mal vor mir einen Aquariencomputer zu bauen, will aber erstmal ganz klein anfangen!
Nun zu meinem Problem:
Habe mir einen kleinen Code geschrieben. Wird nur mit Bascom simuliert, da ich es mir noch nicht zutraue das Geld in die Technik zu investieren!
$regfile = "m32def.dat"
$crystal = 4000000
$baud = 9600
$sim
Enable Interrupts
Dim A As Bit
A = 0
Config Porta.0 = Input
Config Portc.0 = Output
Reset Porta.0
Reset Portc.0
Print "Hauptprogramm"
Goto Hauptprogramm
Hauptprogramm:
Do
If Porta.0 = 1 Then Gosub Temp.01
If Porta.0 = 0 Then Gosub Temp.11
Loop
Temp.01:
If A = 0 Then Gosub Temp.02
If A = 1 Then Gosub Hauptprogramm
Return
Temp.02:
A = 1
Portb.0 = 1
Print "Temp.HIGH, Vent. ON"
Return
Temp.11:
If A = 1 Then Gosub Temp.12
If A = 0 Then Gosub Hauptprogramm
Return
Temp.12:
A = 0
Portb.0 = 0
Print "Temp.LOW, Vent. OFF"
Return
End
Bei diesem Code bekomme ich nach einigen Sekunden eine Fehlermeldung (Integer Overflow)!
Könntet ihr mir sagen woran das liegt und was ich dagegen machen kann?
Vielen dank schon mal im Voraus!
MFG
Harry