summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorblmorris <bryan.morrissey@gmail.com>2015-02-06 13:56:27 -0500
committerblmorris <bryan.morrissey@gmail.com>2015-02-06 13:56:27 -0500
commit97f14606f528180d1482cffbe3571163a1dd9273 (patch)
tree349758f1eb082ad342d1473c0034eb05ff237ff3
parent8775caf9f1c97ecc64f22e355b670ba74d5bd098 (diff)
downloadmicropython-97f14606f528180d1482cffbe3571163a1dd9273.tar.gz
micropython-97f14606f528180d1482cffbe3571163a1dd9273.zip
stmhal/adc.c: Fix calculation of read_core_vref()
There was a stray factor of 2 (VBAT_DIV) that looks like it was copied incorrectly from the read_core_vbat() function. The factor exists in read_core_vbat() because VBAT is measured through a 2:1 voltage divider. read_core_vref now returns values around 1.21V (assuming that external reference voltage is 3.3V) which is in line with the datasheet values. See comment at http://forum.micropython.org/viewtopic.php?f=6&t=533&p=2991#p2991
-rw-r--r--stmhal/adc.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/stmhal/adc.c b/stmhal/adc.c
index cacfed7a8a..4e0ec46a9a 100644
--- a/stmhal/adc.c
+++ b/stmhal/adc.c
@@ -363,7 +363,7 @@ float adc_read_core_vref(ADC_HandleTypeDef *adcHandle) {
// be 12-bits.
raw_value <<= (12 - adc_get_resolution(adcHandle));
- return raw_value * VBAT_DIV / 4096.0f * 3.3f;
+ return raw_value / 4096.0f * 3.3f;
}
#endif