STM32 ADC学习篇

12位ADC的对齐方式

左对齐 0xFFF0,相当于实际数据*16,所以实际的值=左对齐转换的值/16,即X>>4。

右对齐0x0FFF,实际数据。

void MX_ADC_Init(void)

{

        hadc.Init.ClockPrescaler        时钟源,同步PLL,异步HSI

        hadc.Init.Resolution        ADC分辨率

        hadc.Init.DataAlign        数据对齐方式(左,右)

        hadc.Init.ScanConvMode        配置规则组序列,该参数可以关联“DiscontinuousConvMode”对主序列细分,如果设置多个通道则序列自动使能;如果只有一个通道,执行单一转换模式;如果有多个通道,执行序列转换模式;Rank(队列)定义为通道号,rank0->channel0,rank1-->channel1...;扫描方向可以递增或递减ADC_SCAN_DIRECTION_FORWARD,ADC_SCAN_DIRECTION_BACKWARD,ADC_SCAN_ENABLE

        hadc.Init.EOCSelection        用来做轮询或中断标记;每个rank转换结束,或序列转换结束;EOC(EndOfConversion),ADC_EOC_SINGLE_CONV,EOC_SEQ_CONV,EOC_SINGLE_SEQ_CONV

        hadc.Init.LowPowerAutoWait

        hadc.Init.LowPowerAutoPowerOff

        hadc.Init.ContinuousConvMode        定义当选择的触发事件(软件触发 or 外部触发)发生后规则组执行单一转换还是连续转换

        hadc.Init.DiscontinuousConvMode        指定当规则组是完整序列/非连续序列(序列分布在)时是否转换序列;只有在Continuous禁用时,DisContinuous才有效;如果ContinuousConvMode使能,则该参数抛弃。

        hadc.Init.ExternalTrigConv        触发方式 ADC_SOFTWARE_START 软件触发,禁止外部触发。

        hadc.Init.ExternalTrigConvEdge        外部触发规则

        hadc.Init.DMAContinuousRequests        DMA转换请求,指定DMA执行单次(当转换数达标时停止传送)或连续请求模式。DMA必须配置为循环模式,否则当DMA buffer存满时将触发溢出; ENABLE or DISABLE

        hadc.Init.Overrun        选择数据溢出时的行为:保存数据或覆盖数据;这个参数只作用于规则组,包含DMA

}

功能:ADC初始化

HAL_ADC_PollForConversion(&hadc2, 10);

功能:等待转换完成,第二个参数表示超时时间,单位ms。

HAL_ADC_Start(&hadc1);轮询模式

HAL_ADC_Start_IT(); 中断模式

HAL_ADC_Start_DMA(); DMA模式

功能:启动ADC转换。

HAL_ADC_Stop(&hadc);

功能:关闭ADC转换。

HAL_ADC_DeInit(&hadc);

功能:将ADC模块本身及相关寄存器恢复成复位初状态下的默认值, 并不是用来关闭ADC外设模块的。

__HAL_RCC_ADC1_CLK_DISABLE ;

功能:关闭ADC外设时钟以停止其功能运行。

STM32L0相关

ADC->CCR &=(~ADC_CCR_TSEN); // Turn Off TemperatureChannel

功能:关闭内部温度传感器通道。

ADC->CCR &=(~ADC_CCR_VREFEN); // Turn Off VrefintChannel

功能:关闭内部参考电压通道。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值