AD-värdet är 10bitar så den kräver int
Den första fungerar inte i ihop med PIC och xlcd-dispen.
medans alternativ två fungerar perfekt. Det som skiljer är divisionen /1024*100 alt /10.24
Vad är anledningen?
Kod: Markera allt
unsigned int invarde;
unsigned int 100tal;
unsigned int 10tal;
unsigned int 1tal;
unsigned int temporary;
invarde = ADresultat();
temporary = invarde/1024*100; //skriver om invarde i %
100tal = temporary/100;
10tal = (temporary -100tal*100)/10;
1tal = temporary - 100tal*100-10tal*10;
Kod: Markera allt
temporary = invarde/10.24; //skriver om invarde i % , här med endast en räkneoperation
100tal = temporary/100;
10tal = (temporary -100tal*100)/10;
1tal = temporary - 100tal*100-10tal*10;
som sagt, varför fungerar inte alt1, men alt2 gör?