hard20 pts · first answer countsembedded-cfixed-point
ADC maths gives wrong millivolts
On an AVR (16-bit int), this conversion gives nonsense for most readings. Why?
uint16_t raw = adc_read(); /* 0..1023 */ uint16_t mv = raw * 5000u / 1023u;
Discussion 0
Join free to post in the discussion.
Related questions
- Why use volatileEmbedded Systems Engineer
- Setting a register bitEmbedded Systems Engineer
- Reading a hex register valueEmbedded Systems Engineer
- Adding to a uint8_t counterEmbedded Systems Engineer
- Where const goes in a pointerEmbedded Systems Engineer
- A static local counterEmbedded Systems Engineer
- Why a cross-compilerEmbedded Systems Engineer
- Keeping a table out of RAMEmbedded Systems Engineer