马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
1.原理图
VDD的最大值为3.3V,以是PB15丈量电压值的范围为0~3.3V,然后它读取到的AD值为0~4096,以是电压丈量公式为
为什么是4096,由于ADC是一个12比特的
2.CubeMX设置
将PB15引脚设置为ADC2_IN15,PB12设置为ADC1_IN11
打开ADC1的设置界面,找到IN11,选择Single ended模式
打开ADC2设置界面,将IN15-Single ended打勾
设置完成后点击右上角天生代码
3.代码部分
编写获取电压的函数- double get_vol(ADC_HandleTypeDef *hadc)
- {
- HAL_ADC_Start(hadc);
- uint32_t adc_value = HAL_ADC_GetValue(hadc);
- return 3.3 * adc_value / 4096;
- }
复制代码 LCD函数- void lcd_show(void)
- {
- sprintf(Temp,"R38_Vol:%.2f",get_vol(&hadc2));
- LCD_DisplayStringLine(Line2,(uint8_t *)Temp);
-
- sprintf(Temp,"R37_Vol:%.2f",get_vol(&hadc1));
- LCD_DisplayStringLine(Line4,(uint8_t *)Temp);
- }
复制代码 烧录完成后,扭动开发板上的R37与R38旋钮,屏幕上的电压值厘革随旋钮厘革。
|