Das Open-Control-Projekt - Die Alternative zur C-Control-I


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 Compiler-Fehler? (Far Call..) Kategorie: C-Control I V1.2/2.0 (von Carsten - 10.09.2004 16:20)
Hallo allerseits, ich habe einen seltsamen Effekt mit meiner C-Control: Ich benutze ganz normal die mitgelieferte CCBasic 2.0 IDE und darin steht dieses Programm (siehe unten). Es läuft einfach nicht los, es sei denn ich kommentiere das Unterprogramm "#KEYDECODE" aus (das - nebenbei bemerkt - gar nicht benutzt wird) oder ich tausche die Reihenfolge der Unterprogramme 'KEYDECODE" und "#LCD_INIT" - dann funktioniert es auch. Im Simulator funktionieren beide Varianten. Es scheint, als wäre das Unterprogramm "#LCD_INIT" sozusagen "zu weit weg" von seiner aufrufenden Stelle.. Als ich vor vielen Jahren noch Assembler programmierte, kam sowas vor, wenn man weiter als 255 Byte weit "springen" wollte.. Probiert es aus / wer hat eine Idee ? Vielleicht ist es ja auch viel einfacher und ich hab mich selbst ausgetrickst?:

'hier beginnt das Testprogramm
define w0            word[1] 'notwendig zum Speichern
define b0            byte[1] 'je 1 Byte für Portstatus
define b1            byte[2]
define b2            byte[3]
define b3            byte[4]
define b4            byte[5]
define b5            byte[6]
define i             word[4] ' Einleseschleifen
define j             byte[9]
define KEYCODE       byte[12]   'DECODIERTE TASTE
define ADC8          ad[8]

gosub LCD_INIT:print"#L101#";:print "Testprogramm";:pause 1000/20

OPEN# FOR WRITE
for i = 0 to 600
    for j = 0 to 9
        gosub LCD_INIT:print i;:Print " ";:print j;:Print " ";:print filefree;
        print# w0
        gosub BYTES_LOESCHEN
    next        
next
CLOSE#

goto ende

#BYTES_LOESCHEN
    b0=0:b1=0:B2=0:B3=0:b4=0:B5=0
RETURN

#KEYDECODE
    KEYCODE=255:if ADC8<10 then return
    KEYCODE=0:if abs(17-ADC8)<5 then return
    KEYCODE=1:if abs(33-ADC8)<5 then return
    KEYCODE=2:if abs(50-ADC8)<5 then return
    KEYCODE=3:if abs(66-ADC8)<5 then return
    KEYCODE=4:if abs(82-ADC8)<5 then return
    KEYCODE=5:if abs(98-ADC8)<5 then return
    KEYCODE=6:if abs(114-ADC8)<5 then return
    KEYCODE=7:if abs(130-ADC8)<5 then return
    KEYCODE=8:if abs(146-ADC8)<5 then return
    KEYCODE=9:if abs(163-ADC8)<5 then return
    KEYCODE=10:if abs(181-ADC8)<5 then return'CLR
    KEYCODE=11:if abs(199-ADC8)<5 then return'ENTER
    KEYCODE=12:if abs(217-ADC8)<5 then return'F1
    KEYCODE=13:if abs(236-ADC8)<5 then return'F2
    KEYCODE=255:return

#LCD_INIT
    print"#ON_LCD#";
    print"#INIT#";
    print"#CLR#";
RETURN

#Ende
END



 Antwort schreiben

Bisherige Antworten:

Re: Compiler-Fehler? (Far Call..) (von DIE HARD - 10.09.2004 18:39)
    Wundersame Selbstheilung! (von Carsten - 13.09.2004 10:59)
    Re: Compiler-Fehler? (Far Call..) Betriebssystem beeinträchtigt? (von Carsten - 11.09.2004 2:03)
        Re: Compiler-Fehler? (Far Call..) Betriebssystem beeinträchtigt? (von Henrik - 11.09.2004 9:55)
            Re: Compiler-Fehler? (Far Call..) Betriebssystem beeinträchtigt? (von Carsten - 11.09.2004 11:32)
    Re: Compiler-Fehler? (Far Call..) (von Henrik - 10.09.2004 19:27)
        Re: Compiler-Fehler? (Far Call..) (von DIE HARD - 10.09.2004 19:57)
            Re: Compiler-Fehler? (Far Call..) (von Henrik - 10.09.2004 22:04)
                Re: Compiler-Fehler? (Far Call..) (von DIE HARD - 11.09.2004 13:38)