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

Re: zusammengesetzte arithmetische Ausdrücke Kategorie: Programmierung C (von PeterS - 26.08.2009 17:43)
Als Antwort auf zusammengesetzte arithmetische Ausdrücke von ER - 26.08.2009 10:39
Ich nutze:
C-Control Pro Mega32, C-Control Pro Mega128, CC-Pro 32 Application Board, CC-Pro 128 Application Board, Pro-Bot128
> Hallo zusammen,
> bei meinen Aktivitäten zur Umsetzung meiner Programme von der CC1 auf die CC Pro
> bin ich auf etwas gesto�en, was sehr fragwürdig ist:
> Folgender Code lässt sich fehlerfrei compilieren.
> Die Funktion liefert die Werte 0x0A für OK oder 01 - Fehler zurück.
> Das Programm kommt aus der Schleife nicht mehr raus.
> Der arithmetische Ausdruck wird anscheinend nicht korrekt
> aufgelöst. Wird immer zu 1 berechnet.
>
> void DS2482WIRE_WAITIDLE(void)
> {
> DS2482WT:
> if ((DS2482GET_STATUS() & 1) > 0) goto DS2482WT;
> }
>
>
> Der Code funktioniert, wenn man die Berechung aus der Klammer
> herauslöst:
>
> void DS2482WIRE_WAITIDLE(void)
> {
> DS2482WT:
> buffer=DS2482GET_STATUS() & 1;
> if (buffer > 0) goto DS2482WT;
> }
>
> Was Ist da los? Also der B++ Compiler vom Stefan Tapertzhofen kann so etwas
> problemlos bearbeiten.
>
> mfg
> Ellen

Hallo Ellen,

ich kann das nicht bestätigen. Bei mir funktionieren beide Ausdrücke. Bitte gib doch auch die
Funktion DS2482GET_STATUS() an, vielleicht ist der Fehler da.

Gruss Peter


    Antwort schreiben


Antworten:

Re: zusammengesetzte arithmetische Ausdrücke (von ER - 27.08.2009 8:40)
    Re: zusammengesetzte arithmetische Ausdrücke (von PeterS - 27.08.2009 11:55)
        Re: zusammengesetzte arithmetische Ausdrücke (von ER - 28.08.2009 16:02)