Forum: Mikrocontroller und Digitale Elektronik Compact-C und C


von ary r. (aryaryary)


Lesenswert?

Guten abend,
ich habe seit ein paar Tagen vom Conrad ein C-Control Pro Lernpaket 
gekauft, jetzt habe ich eine frage zum progarmmieren:
Ist Compact-C dasselbe wie C ??
Bsp Compact-C:



// SOS Blinker

#define LED1    0


void main(void)
{
    int i;

    for(i=0;i<5;i++)
    {
       Flashing(3,200);
       AbsDelay(200);
       Flashing(3,600);
       AbsDelay(200);
       Flashing(3,200);
       AbsDelay(1000);
    }

}

void Flashing(int val, int time)
{
    int cnt;

    Port_DataDirBit(LED1,1);        // Pin = Ausgang
    Port_WriteBit(LED1,0);          // Pin = low

    for(cnt=0;cnt<val;cnt++)
    {
        Port_WriteBit(LED1,1);      // Pin = high
        AbsDelay(time);
        Port_WriteBit(LED1,0);      // Pin = low
        AbsDelay(time);
    }
}

von Andreas D. (rackandboneman)


Lesenswert?

Solang die aufgerufenen Funktionen definiert sind ist das Beispiel fast 
valides C99 (// hat IIRC in C89 formalerweise nichts zu suchen!). Ausser 
dass hier wohl Header hinter den Kulissen geladen werden die 
normalerweise explizit inkludiert werden müssten - wobei es sogar ohne 
gehen würde aber dann hat man ein absolutes Minenfeld bei der 
Parameterübergabe.



void main(void) ist hingegen sehr wohl gültig. "freestanding 
environment" in beiden Spezifikationen. In einem "hosted environment" 
(Windows,Unix) ist das schlechter Stil und nicht standardkonform.

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.