Witam
Mam problem z wysłaniem na LCD wyniku z ADC w postaci np
3.51 V
1)Najpierw chciałem w wyłuskać (3) i wysłać na LCD
2)wysłać na LCD znak "."
3)wyłuskać resztę (51) i wysłać
część programu odpowiedzialna za podział i zamianę wyniku na ASCII wygląda tak:
Wszystko jest prawie OK
Dzieląc 1022/205 hex 0x3FE/0xCD mam 4.
nie otrzymuję tylko reszty z dzielenia 1022 na 205,powinno być 98 a wychodzi 202 hex 0xCA.
pracuję na WinAVR i VMLab jako debuger i obrerwacja danych ,stanów portów,wyników,zmiennych itp
Czy jest jakiś inny sposób uzyskania reszty z dzielenia
Mam problem z wysłaniem na LCD wyniku z ADC w postaci np
3.51 V
1)Najpierw chciałem w wyłuskać (3) i wysłać na LCD
2)wysłać na LCD znak "."
3)wyłuskać resztę (51) i wysłać
część programu odpowiedzialna za podział i zamianę wyniku na ASCII wygląda tak:
Cytat:
int voltintpart[];//= {'0','0','0','\0'};
char voltfractpart[];//= {'0','0','0','\0'};
char voltintfull[];//= {'0','0','0','\0'};
int intpart = 1;
int fractpart = 1;
int ADCresult = 1;
ADCresult = 0x3FE;// nasza liczba z ADC np 1022
intpart = ADCresult/205;//dzielimy żeby uzyskać wynik 4
fractpart = ADCresult%205;//reszta z dzielenia
itoa(intpart, voltintpart, 10);//zamiana na ASCII
itoa(fractpart, voltfractpart, 10);
itoa(ADCresult, voltintfull, 10);
Wszystko jest prawie OK
Dzieląc 1022/205 hex 0x3FE/0xCD mam 4.
nie otrzymuję tylko reszty z dzielenia 1022 na 205,powinno być 98 a wychodzi 202 hex 0xCA.
pracuję na WinAVR i VMLab jako debuger i obrerwacja danych ,stanów portów,wyników,zmiennych itp
Czy jest jakiś inny sposób uzyskania reszty z dzielenia