赞
踩
一、配置CUBE
选择通道,以0v为参考点
参考电源选用外部基准源
输入模式选用单输入
软件触发
选择通道
添加DMA
循环模式
半个字(16位)
二、代码
- /* USER CODE BEGIN PD */
- #define data 1
- int16_t SDADC_Value[data]={0};
- float vol;
- /* USER CODE END PD */
注意,定义SDADC的变量必须是int16型。因为单输入通道读到的ADC值为-32767-32767,若是输入电压为基准电压的一半以下则ADC读到的数值为负值。计算实际的电压值为
- while(1)
- {
- HAL_SDADC_InjectedStart_DMA(&hsdadc1, (uint32_t*)SDADC_Value,data);
- vol=(SDADC_Value[0]+32767)*2.5/65535;
- printf("%.5f\r\n",vol);
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。