HC32L136 adc推杆单次采样转换
时间: 2023-08-30 11:11:01 浏览: 194
HC32L136是华大基础公司推出的一款低功耗、高性能的32位Cortex-M3内核微控制器。它内置了12位ADC模块,可以进行单次采样转换。
下面是HC32L136 ADC推杆单次采样转换的代码示例:
```c
#include "hc32l136.h"
/**
* @brief ADC单次采样转换函数
* @param None
* @retval None
*/
void ADC_Single_Conversion(void)
{
uint16_t u16AdcResult = 0U;
/* 使能ADC模块时钟 */
CLK_FcgPeriphClockCmd(CLK_FCG_ADC, Enable);
/* 配置ADC输入通道和采样时间 */
ADC_ChannelCfg(ADC_CH0, ADC_SampleTime_55_5);
/* 使能ADC转换器 */
ADC_Cmd(Enable);
/* 启动ADC转换 */
ADC_Start();
/* 等待转换完成 */
while (Reset == ADC_GetFlagStatus(ADC_FLAG_EOCA));
/* 获取ADC转换结果 */
u16AdcResult = ADC_GetValue();
/* 关闭ADC模块时钟 */
CLK_FcgPeriphClockCmd(CLK_FCG_ADC, Disable);
}
```
在上面的代码中,我们首先要使能ADC模块时钟。然后,通过调用`ADC_ChannelCfg()`函数配置ADC的输入通道和采样时间。接下来,使能ADC转换器并启动ADC转换。最后,等待转换完成,并通过`ADC_GetValue()`函数获取ADC转换结果。需要注意的是,在获取ADC转换结果后,我们要关闭ADC模块时钟以节约功耗。
阅读全文