简介
CH32V103系列是以青稞V3A处理器为核心的32位通用RISC-V MCU,该处理器是基于RISC-V开源指令集设计。片上集成了时钟安全机制、多级电源管理、通用DMA控制器。此系列具有1路USB2.0主机/设备接口、多通道12位ADC转换模块、多通道TouchKey、多组定时器、多路IIC/USART/SPI接口等丰富的外设资源。
本章教程使用CH32V103开发板的ADC1通道1对开发板的VCC引脚和GND引脚进行采样,并将采样结果通过串口调试助手打印显示。
1、ADC及相关函数介绍
CH32V103的ADC模块包含一个 12 位的逐次逼近型的模拟数字转换器,最高14MHz的输入时钟。支持16个外部通道和2个内部信号源采样源。可完成通道的单次转换、连续转换,通道间自动扫描模式、间断模式、外部触发模式等功能。可以通过模拟看门狗功能监测通道电压是否在阈值范围内。
关于ADC具体信息,可参考CH32V103应用手册。ADC标准库函数具体内容如下:
1.1、void ADC_DeInit(ADC_TypeDef* ADCx)
功 能:将ADCx外围寄存器初始化为其默认重置值。
输 入:ADCx:其中x可以是1以选择ADC外围设备。
1.2、void ADC_Init(ADC_TypeDef* ADCx, ADC_InitTypeDef* ADC_InitStruct)
功 能:根据ADC_InitStruct中指定的参数初始化ADCx外围设备。
输 入:ADCx:其中x可以是1以选择ADC外围设备;ADC_InitStruct:指向包含指定ADC外围设备的配置信息的ADC_InitTypeDef结构的指针。
1.3、void ADC_StructInit(ADC_InitTypeDef* ADC_InitStruct)
功 能:用默认值填充每个ADC_InitStruct成员。
输 入:ADC_InitStruct:指向包含指定ADC外围设备的配置信息的ADC_InitTypeDef结构的指针。
1.4、void ADC_Cmd(ADC_TypeDef* ADCx, FunctionalState NewState)
功 能:启用或禁用指定的ADC外围设备。
输 入:ADCx:其中x可以是1以选择ADC外围设备;NewState:启用或禁用。
1.5、void ADC_DMACmd(ADC_TypeDef* ADCx, FunctionalState NewState)
功 能:启用或禁用指定的ADC DMA请求。
输 入:ADCx:其中x可以是1以选择ADC外围设备;NewState:启用或禁用。
1.6、void ADC_ITConfig(ADC_TypeDef* ADCx, uint16_t ADC_IT, FunctionalState NewState)
功 能:启用或禁用指定的ADC中断。
输 入:ADCx:其中x可以是1以选择ADC外围设备;ADC_IT:指定要启用或禁用的ADC中断源。NewState:启用或禁用。
1.7、void ADC_ResetCalibration(ADC_TypeDef* ADCx