Gast
#335101
Hallo,
habe ein C-Verständnis Problem. Bin mir nicht Sicher ob meine C-Sytax
fehlerhaft ist, oder ob der Compiler einen Fehler macht?
Mir ist nicht klar warum unten stehender "auskommentierter Code"
nicht zum gleichen Ergebnis führt, wie der "Workaround" ?
// *** Defines
#define FALSE 0
#define TRUE !FALSE
#define flag unsigned char // fVariable
#define uchar unsigned char // ucVariable
////////////////////////////////////////////////////////////////////
flag fIO_OutputHighActive=FALSE;
flag ucStatus =FALSE;
.
.
.
/* So funktioniert es nicht ???
if (fIO_OutputHighActive)
ucStatus != ucStatus;
*/
// Workaround: So funktioniert es..
if (ucStatus)
{
if (! fIO_OutputHighActive)
ucStatus = FALSE;
}
else
{
if (! fIO_OutputHighActive)
ucStatus = TRUE;
}
.
.
.
if (ucStatus) // Setzen, SET, TRUE
vSetPort();
else // Rücksetzen, CLEAR, RESET, FALSE
vClearPort();