Hallo zusammen,
daß es ein Problem beim Vergleichen mit signed und unsigned Typen gibt ist mir inzwischen bekannt.
Wenn ein Wert als unsigned definiert wird und der zweite als signed, wird wohl generell mit unsigned verglichen,
so habe ich es zumindest bisher verstanden, bzw. wurde mir das hier im Forum mal so erläutert.
Das scheint aber nicht immer so zu sein, wie mir mein Code grade zeigt. Das ist Typabhängig, zumindest bei meinem Compiler: IAR Embedded Workbench ???

Code:
/*----------------------------------------*/
signed   short istWert;
unsigned short sollWert;
int dummy;

int main(void)
{ U32 time;
 
  istWert  = -1;
  sollWert = 12;
  if (istWert < sollWert)
  {
     dummy = 1;  /* hier geht es */
  }    
}
/*----------------------------------------*/
signed   int istWert;
unsigned int sollWert;
int dummy;

int main(void)
{ U32 time;
 
  istWert  = -1;
  sollWert = 12;
  if (istWert < sollWert)
  {
     dummy = 1;  /* hier geht es NICHT !!!!! */
  }    
}
Anscheinend habe ich es doch noch nicht richtig verstanden ?.
Aber zum Glück habe ich Euch...und freue mich über eine Antwort...
Siro