stm32 hal uart_STM32 CubeMX-ADC读STM32的电压

使用的板子为STM32NucleoL476RG。目的是测量给板子供电的电池电压,需要将电源线直接接在vbat引脚上。参考UM1724中的Figure 28,需要断掉SB45,这样vbat的电压来源就是外部电源。

v2-f903ddc10fcacca214aad2a8ede18792_b.jpg

程序上,打开STM32 CubeMX, 选择vbat和vrefint channel。

v2-4299731ff3b39992000ea0e0748ff04a_b.jpg

参数设置这里,其他按照默认设置(右对齐,12bit的精度),主要是通道数要改成2,分别对应vrefint和vbat。

v2-f46d32967af787b6b1137756d281352c_b.jpg

然后生成代码。

工程文件中,可以看到配置了两个channel,采样精度时间都相同。

v2-67e7a41542d4137aeaab6d0a446eead1_b.jpg

在main函数中代码

int 
  • 在使用ADC前先进行校准
  • 根据Datasheet - STM32L476xx Page 42,参考电压vref在出厂的时候已经根据标准值3V测量过,存储在0x1FFF 75AA - 0x1FFF 75AB。使用ADC测量vref再根据校准值计算出vdda。
  • vbat值为ADC采样值/4095 * vdda
  • vbat的采样值为实际vbat电压的三分之一
  • 具体参考STM32 之十 供电系统及内部参照电压(VREFINT)使用及改善ADC参考电压
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值