С АЦП считываю код, преобразовываю и вывожу на 3-разрядный индикатор.
Код:
|
unsigned int u_read(void)
{
tmp=read_adc(ADCMUX_U);
tmp*=510;
tmp/=1023;
return tmp;
}
void uindf(unsigned int ul)
{
d[0]= ul/100;
ul %=100;
d[1]= ul/10;
ul %=10;
d[2]= ul;
} |
При подаче на вход АЦП напряжения, к примеру, 25.57 вольт на индикаторе высвечивается число 25.5.
Можно ли округлить показания так, чтобы при сотых долях вольта больше 5, к младшему разряду индикатора прибавлялась 1? Т.е. на индикаторе показывало 25.6?
Нашел в интернет
Цитата:
|
И если Вы хотите выполнить округление, то это делается
достаточно просто, например:
i = j / 100;
if (j%100 › 50)
++i;
|
, но можно ли его применить в данном случае и, если да, то как?