-
Thread
avr adc streuung ausgleichen
gerundet haben möchtest:\ U = (ADC × 7404UL + 32768) ÷ 65536UL Keine Angst vor großen Zahlen, der AVR überlebt das. ;-) Und ein Überlauf entsteht bei 60V auch nicht, nach Multiplikation und Addition: 0xEA60F7EE\ Du musst aber dringend mit uint32_t rechnen und auch als Return definieren.
faktor 127 7388797 In: 14.319 V … 14.431 V Mess: 14319.000 mV … 14431.000 mV 255 7374343 In: 28.694 V … 28.806 V Mess: 28694.000 mV … 28806.000 mV 511 7367157 In: 57.444 V … 57.556 V Mess: 57444.000 mV … 57556.000 mV 767 7364769 In: 86.194 V … 86.306 V Mess: 86194.000 mV … 86306.000 mV