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 

 Re: Probleme beim Programmieren der Unit Kategorie: C-Control I V1.2/2.0 (von Carsten - 24.06.2005 13:49)
 Als Antwort auf Re: Probleme beim Programmieren der Unit von DIE HARD - 24.06.2005 12:18
Carsten nutzt:  CC1-M-Unit V1.2/2.0
siehe unten..


>
> > Hallo Leute,
> >
> > ich habe folgendes Problem: Ich lade mein Programm ( 3302 Basic Bytes, 0 Sys Bytes) aus CCBasic in die C-Control, von meinem Laptop aus. Die Übertragung funktioniert (Meldung ".. fertig"), aber das Programm bleibt nach dem Start an einer bestimmten Stelle einfach stehen. Lade ich das gleiche Programm von einem anderen PC auf die Unit, funktioniert es. Wie kann das sein? Wenn das Programm evtl. vom Laptop nicht vollständig geladen wird, müßte ich doch eine Fehlermeldung bei der Übertragung kriegen?
> >
> > Gibt es evtl. die Möglichkeit, mit einem SYS-Treiber eine Prüfsumme des gespeicherten Programms / des Systemzustands zu ermitteln und so herauszufinden, ob bei den 2 Fällen etwas anderes auf der C-Control drauf ist?
> >
> > Im Programm selbst schreibe ich in einer Schleife Meßwerte in den Flash und zeige nach jedem Schreiben den verbliebenen Speicher mit print Filefree an, also nichts besonderes...
> >
> > Wer jetzt sagt: "Dann nimm halt den PC" ist - mit Verlaub - ein Dünnbrettbohrer. Alle anderen Anwendungen mit serieller Schnittstelle funktionieren prima auf dem Laptop. Es nervt halt, wenn man nicht sicher sein kann, ob das übertragene Programm auch komplett ist, und man dadurch Zeit vertut, die man eigentlich in die Entwicklung stecken wollte. Langsam liebäugle ich mit Bascom-AVR...
> >
> > Gruß Carsten
>
> Hallo......
> Die UNIT schickt jedes Byte nach dem Speichern als Echo über die
> Schnittstelle zurück.
> Das Problem kann sich also nur so ergeben (abgesehen davon dass es evtl. Zufall ist,
> dass ein Fehler im Basic-Programm den Laptop verdächtig macht) dass das
> Byte vom Schnittstellenadapter verfälscht wird.

So einen Effekt hoffte ich eben durch Errechnen einer Prüfsumme auf beiden Seiten (vor dem Senden und in der Unit) zu entdecken - die Prüfsumme in der Unit wäre dann falsch..

Einen Fehler im Basic-Programm schließe ich aus, da dasselbe Programm, von einem anderen PC draufprogrammiert, ja funktioniert..


Beim Echo wird es wieder "rückverfälscht"
> Es gab sowas schon mal.
> Welchen Adapter hast du?

Ich benutze das Application Board 2.0 (in der ersten Version vom vorigen Jahr)

> Kannst du das Programm posten?
>

Das Programm ist recht lang und ich möchte es nicht gern posten, aber ich schicke es gerne per email, wenn Du mir scheibst / emailst, wohin ich senden soll... Die entscheidenden Stellen sehen so aus (s.u.) Das Unterprogramm ALARM gibt den Stand von i aus, und auch, wieviele Platz (Filefree) noch ist. Das Programm bleibt immer stehen bei i=25, obwohl im Speicher noch Platz ist und i eigentlich bis 600 laufen soll (PS: bei der vorigen Unit war der Speicher bei i=573 voll, die hab ich jetzt zum Garantieaustausch eingeschickt, siehe Posting

http://ccintern.dharlos.de/forum/lesen.php?eintrag=6717



...
    for i = 0 to 599 'jede Zeile wird <cKombi>fach OR verknüpft / kombiniert, cKombi = 4
    gosub ALARM
        for j = 0 to cKombi
            gosub LESE8
            if (j < cKombi) then goto WEITER
                'ansonsten: hier die Daten speichern und dann Bytes wieder löschen
                print# w0
                print# w1
                print# w2
                print# w3
                gosub BYTES_LOESCHEN
           #WEITER
        next
...

'---------------------------------------------------------------------------------------------------------------------
'---------------------------------------------------------------------------------------------------------------------
#ALARM
' gosub klingel
    print"#ON_LCD#";:print"#INIT#";:print"#CLR#";
    print"#L101#";
    print "FFREE=";:print FILEFREE;
    print"#L201#";
    print "I=";:print i;
    print "#OFF#"
pause 1
    if filefree < 8 then goto tttt else RETURN
#tttt
end


'---------------------------------------------------------------------------------------------------------------------
'---------------------------------------------------------------------------------------------------------------------
#LESE8
    'alle Schaltkreise auslesen und mit Bytes kombinieren. Die Reihenfolge ist optimiert

    'IC = 0
    adr0 = OFF
    adr1 = OFF
    adr2 = OFF
    b0 = b0 OR DatenBus

    'IC = 1
    adr0 = ON
    b1 = b1 OR DatenBus

    'IC = 3
    adr1 = ON
    b3 = b3 OR DatenBus

    'IC = 7
    adr2 = ON
    b7 = b7 OR DatenBus

    'IC = 6
    adr0 = OFF
    b6 = b6 OR DatenBus

    'IC = 4
    adr1 = OFF
    b4 = b4 OR DatenBus

    'IC = 5
    adr0 = ON
    b5 = b5 OR DatenBus

    'IC = 2
    adr0 = OFF
    adr1 = ON
    adr2 = OFF
    b2 = b2 OR DatenBus

RETURN

'---------------------------------------------------------------------------------------------------------------------
'---------------------------------------------------------------------------------------------------------------------
#BYTES_LOESCHEN
    b0=0:b1=0:b2=0:b3=0:b4=0:b5=0:b6=0:b7=0
RETURN


 Antwort schreiben

Bisherige Antworten:

Re: Probleme beim Programmieren der Unit (von DIE HARD - 24.06.2005 19:39)
    Re: Probleme beim Programmieren der Unit (von Carsten - 26.06.2005 14:51)
        Re: Probleme beim Programmieren der Unit (von DIE HARD - 26.06.2005 19:44)
            Re: Probleme beim Programmieren der Unit (von Carsten - 27.06.2005 10:12)
                Re: Probleme beim Programmieren der Unit (von DIE HARD - 27.06.2005 18:05)
    Re: Probleme beim Programmieren der Unit (von Dierk - 24.06.2005 20:02)
        Re: Probleme beim Programmieren der Unit (von Carsten - 26.06.2005 14:59)
            Re: Probleme beim Programmieren der Unit (von dierk - 27.06.2005 0:47)
                Re: Probleme beim Programmieren der Unit (von Carsten - 27.06.2005 10:46)
                    Re: Probleme beim Programmieren der Unit (von Dierk - 27.06.2005 12:37)