Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum

Bug in Beta 1.99? Kategorie: IDE (von Rainer - 22.01.2009 23:08)
Ich nutze:
C-Control Pro Mega128
Hallo,

ich habe heute die IDE 1.99 mit meiner Applikation getestet.
Bis auf eine Kleinigkeit scheint Sie gut zu laufen.
Ich habe den Fehler in den folgenden Zeilen isoliert:
Das Programm sollte eigentlich immer nur 0 ausgeben. Das tut es auch für die ersten Sekunden,
doch dann bringt der andere Task durch den Befehl log(0) (ich weiss, geht eigentlich nicht) alles
so durcheinander, dass die Variable Konstante plötzlich einen anderen Wert hat.
Das Problem tritt aber nicht auf, wenn die Zeile
        Str_WriteFloat(P,1,Txt,pos);
entfernt wird.
Sieht mir sehr nach einem Buffer Overflow aus.
Parameter von Thread1: Stack=256  Zyklus=5000

##################################################

word Konstante;
char Txt[20];

void main(void)
{
    Konstante = 0;

    Thread_Start(1,Task);

    while(1)
    {
        Thread_Delay(10);
        Msg_WriteInt(Konstante);
        Msg_WriteChar(0x0D);
    }
}

void Task(void)
{
    float P   ;
    P = 0;

    while (1)
    {
        Thread_Delay(10);

        int pos;
        pos = 12-log(P);
        Str_WriteFloat(P,1,Txt,pos);
    }
}

############################################

Gruss
Rainer


    Antwort schreiben


Antworten: