嵌入STM32WB55中的VREFBUF微控制器提供基于用于模拟-数字和数字-模拟转换器的内部带隙基准。
其输出电压可编程为2.5或2.048伏特。
该输出电压还可支持高达6.5毫安。
当使用内部VREF缓冲区,应用程序可以受益于这种片上电压因为它不需要昂贵的,外部独立参考电压IC。对于空间受限系统,通常使用模拟电源作为参考电压。通过使用这个VREF缓冲区,它可以创建一个稳定的电压输出即使模拟电源正在变化。经过实际测试这个精度可达千分之一。
附档有配置的工程,大家可以亲自测试验证。
1.工程管脚配置:
2.关键代码:
3.测试代码:
其输出电压可编程为2.5或2.048伏特。
该输出电压还可支持高达6.5毫安。
当使用内部VREF缓冲区,应用程序可以受益于这种片上电压因为它不需要昂贵的,外部独立参考电压IC。对于空间受限系统,通常使用模拟电源作为参考电压。通过使用这个VREF缓冲区,它可以创建一个稳定的电压输出即使模拟电源正在变化。经过实际测试这个精度可达千分之一。
附档有配置的工程,大家可以亲自测试验证。
1.工程管脚配置:
2.关键代码:
void HAL_MspInit(void)
{
/* USER CODE BEGIN MspInit 0 */
/* USER CODE END MspInit 0 */
/* System interrupt init*/
/** Configure the internal voltage reference buffer voltage scale
*/
HAL_SYSCFG_VREFBUF_VoltageScalingConfig(SYSCFG_VREFBUF_VOLTAGE_SCALE1);
/** Enable the Internal Voltage Reference buffer
*/
HAL_SYSCFG_EnableVREFBUF();
/** Configure the internal voltage reference buffer high impedance mode
*/
HAL_SYSCFG_VREFBUF_HighImpedanceConfig(SYSCFG_VREFBUF_HIGH_IMPEDANCE_DISABLE);
/* USER CODE BEGIN MspInit 1 */
/* USER CODE END MspInit 1 */
}
3.测试代码:
int main(void)int main(void){ /* USER CODE BEGIN 1 */
/* USER CODE END 1 */
/* MCU Configuration--------------------------------------------------------*/
/* Reset of all peripherals, Initializes the Flash interface and the Systick. */ HAL_Init();
/* USER CODE BEGIN Init */
/* USER CODE END Init */
/* Configure the system clock */ SystemClock_Config();
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
/* Initialize all configured peripherals */ MX_GPIO_Init(); MX_USART1_UART_Init(); MX_USB_PCD_Init(); MX_ADC1_Init(); /* USER CODE BEGIN 2 */ printf("115200bps\r\n"); printf("%s\r\n",__TIME__); printf("%s\r\n",__DATE__); printf("%d\r\n",__LINE__); /* USER CODE END 2 */
/* Infinite loop */ /* USER CODE BEGIN WHILE */ while (1) { HAL_ADC_Start(&hadc1); HAL_GPIO_WritePin(GPIOB, LD2_Pin|LD3_Pin|LD1_Pin, GPIO_PIN_RESET); HAL_Delay(500); HAL_GPIO_WritePin(GPIOB, LD2_Pin|LD3_Pin|LD1_Pin, GPIO_PIN_SET); HAL_Delay(500); printf("Adc2 IN8 value is:%d \r\n",HAL_ADC_GetValue(&hadc1)); /* USER CODE END WHILE */
/* USER CODE BEGIN 3 */ } /* USER CODE END 3 */}
4.测试效果与截图:
评论