Forum: Compiler & IDEs MSP430: If wird übersprungen


von Florian Hrubesch (Gast)


Lesenswert?

Hi,
ich hab ein Problem und hock da schon den ganzen Tag drann.
Und zwar will ich, dass die führenden Nullen entfernt werden.
Lass ich den Code auf meinem PC laufen klapt das auch wunderbar, aber
sobald ich das ganzen aufm uc laufen lass wird das if einfach
ignoriert.

Hier der Code:

const uint16_t teiler[5]={10000, 1000, 100 , 10, 1};
struct
      {
       uint16_t first:1;
       }var;

char *  inttobcd(uint16_t value)
  {
  volatile uint16_t worth=0;
  volatile uint16_t i=0;
  volatile uint16_t z=0;

  var.first=1;

  for(i=0;i<5;i++)
    {
    worth=value/teiler[i];
    value%=teiler[i];
    if((worth==0)&&(var.first==1))continue;
    bcd[z]=worth+0x30;
    z++;
    var.first=0;
    }
  bcd[z]=0;
  return bcd;
  }
Der Wert von Value war bei allen Versuchen 105.
Falls jmd weis woran es liegt, ich würde mich über jede Hilfe freuen.
cu Flo

von Florian Hrubesch (Gast)


Lesenswert?

Hmm hat sich gelöst.

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.