[STM32F0] STM32F0 ADC(DMA中断)多通道程序

[复制链接]
3668|6
 楼主| Micachl 发表于 2016-3-20 21:46 | 显示全部楼层 |阅读模式
附件为STM32F0系列ADC的多通道采集,DMA中断方式,注释非常详细,分享给大家,部分代码如下
  1. /**
  2.   * [url=home.php?mod=space&uid=247401]@brief[/url]  配置ADC1的工作模式
  3.   * @param  无
  4.   * @retval 无
  5.   */
  6. static void ADC1_Mode_Init(void)
  7. {
  8.         ADC_InitTypeDef     ADC_InitStructure;

  9.         /*设置ADC分频因子为4 ,ADC最大时间不能超过14M*/
  10.         RCC_ADCCLKConfig(RCC_ADCCLK_PCLK_Div4);        

  11.         /* ADC1 Periph clock enable */
  12.         RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1, ENABLE);

  13.         /* ADC1 DeInit */  
  14.         ADC_DeInit(ADC1);
  15.         
  16.         /*初始化ADC结构体,此句必须加,不加的话多路ADC数据会交换*/
  17.         ADC_StructInit(&ADC_InitStructure);                        

  18.         /*配置ADC分辨率为12位*/
  19.         ADC_InitStructure.ADC_Resolution = ADC_Resolution_12b;

  20.         /*开启连续转换*/
  21.         ADC_InitStructure.ADC_ContinuousConvMode = ENABLE;

  22.         /*禁止触发检测,使用软件触发*/
  23.         ADC_InitStructure.ADC_ExternalTrigConvEdge = ADC_ExternalTrigConvEdge_None;

  24.         /*ADC采集数据右对齐*/
  25.         ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;

  26.         /*向上扫描*/
  27.         ADC_InitStructure.ADC_ScanDirection = ADC_ScanDirection_Upward;

  28.         /*ADC初始化*/
  29.         ADC_Init(ADC1, &ADC_InitStructure);
  30.                               
  31.         /*配置采样通道及时间*/
  32.         ADC_ChannelConfig(ADC1, ADC_Channel_0 | ADC_Channel_1, ADC_SampleTime_239_5Cycles);

  33.         /* ADC 校准 */
  34.         ADC_GetCalibrationFactor(ADC1);

  35.         /* 循环模式下的 ADC DMA 请求 */
  36.         ADC_DMARequestModeConfig(ADC1, ADC_DMAMode_Circular);

  37.         /* 使能 ADC_DMA */
  38.         ADC_DMACmd(ADC1, ENABLE);  

  39.         /* 使能 ADC1 */
  40.         ADC_Cmd(ADC1, ENABLE);     

  41.         /* 等待 ADCEN 标志 */
  42.         while(!ADC_GetFlagStatus(ADC1, ADC_FLAG_ADEN));

  43.         /*  ADC1 常规软件启动转换 */  
  44.         ADC_StartOfConversion(ADC1);
  45.         
  46. }


STM32F0_Template.rar

313.36 KB, 下载次数: 120

yklstudent 发表于 2016-3-20 22:33 | 显示全部楼层
mark,收藏下,谢谢楼主的分享
champtech 发表于 2020-2-17 21:23 | 显示全部楼层
收藏下,谢谢楼主的分享
sjh-7366 发表于 2023-6-19 15:52 | 显示全部楼层
谢谢楼主的分享
Pretext 发表于 2023-6-19 19:19 | 显示全部楼层
是定时多通道采集的吗?
朝生 发表于 2023-6-19 19:19 | 显示全部楼层
F0系列的都可以用?
芯路例程 发表于 2023-6-19 19:20 | 显示全部楼层
多通道DMA问题还不少,下载来看看代码怎么样。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

43

主题

300

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部