Important changes to forums and questions
All forums and questions are now archived. To start a new conversation or read the latest updates go to forums.mbed.com.
7 years, 5 months ago.
I am looking for functions read Nucleo-144 internal AD
I would like to make an analysis of the internal AD and DA on Nucleo-F767 board. Unfortunately, the used usual mbed library gives opportunity only to read % and something 16 bit value - I do not understand it's logic - can not be converted simple 12 bit original value red from the AD and write to the DA. Is there a library or program example reads and writes the 12 bit AD values directly?
1 Answer
7 years, 5 months ago.
Here is the mbed code (from analogin_api.c) used to return a 16-bit value from the 12-bit ADC conversion:
uint16_t analogin_read_u16(analogin_t *obj) { uint16_t value = adc_read(obj); // 12-bit to 16-bit conversion value = ((value << 4) & (uint16_t)0xFFF0) | ((value >> 8) & (uint16_t)0x000F); return value; }
A simple logical shift right (>>4) on the uint16_t value will give the original 12-bit value.