查看: 2931|回复: 4

[教程] STM32多路ADC(非DMA方式)

[复制链接]

17

主题

22

好友

3613

积分

状元

Rank: 6Rank: 6

  • TA的每日心情
    奋斗
    2016-8-26 01:52
  • 签到天数: 120 天

    [LV.7]常住居民III

    论坛版主职务勋章 爱板会员勋章

    发表于 2014-5-10 21:17:04 |显示全部楼层
          一般使用STM32做多路ADC采集时都会使用DMA方式,这里提供一种非DMA实现的方式,工程源码是很久以前在网上下载的,作者是@Haitao Jiao
         完整工程下载:
                STM32多路ADC(非DMA方式).rar (4.01 MB, 下载次数: 53)
         部分代码如下:
    1. //===============================================================================================
    2. //说明:3个通道的数据,分别按单次转换,完成,结果存放在全局变量ADCConvertedValue【】中,在主函数中显示
    3. //                                                                                                          
    4. void GetADCSConvertedValues()
    5. {
    6.         uint8_t i;
    7.         for(i=0;i<10;i++)
    8.         {
    9.                 switch(i)
    10.                 {
    11.                 //----------------内部2路模拟输入--------------------------

    12.                 case 0:          //通道17(内部1.2v参照电压),规则组序号1,239.5clk,时间长采样准确
    13.                 ADC_RegularChannelConfig(ADC1, ADC_Channel_17,1, ADC_SampleTime_239Cycles5);break;
    14.                 case 1:         //通道16(内部温度),规则组1.。。。
    15.                 ADC_RegularChannelConfig(ADC1, ADC_Channel_16,1, ADC_SampleTime_239Cycles5);break;

    16.                 //----------------外部8路模拟输入 -------------------------

    17.                 case 2:         //通道4(外部可变电阻电压),规则组序号1,。。。
    18.                 ADC_RegularChannelConfig(ADC1, ADC_Channel_4,1, ADC_SampleTime_239Cycles5);break;
    19.                 case 3:         //通道5(外部可变电阻电压),规则组序号1,。。。
    20.                 ADC_RegularChannelConfig(ADC1, ADC_Channel_5,1, ADC_SampleTime_239Cycles5);break;
    21.                 case 4:         //通道6(外部可变电阻电压),规则组序号1,。。。
    22.                 ADC_RegularChannelConfig(ADC1, ADC_Channel_6,1, ADC_SampleTime_239Cycles5);break;
    23.                 case 5:         //通道7(外部可变电阻电压),规则组序号1,。。。
    24.                 ADC_RegularChannelConfig(ADC1, ADC_Channel_7,1, ADC_SampleTime_239Cycles5);break;
    25.                
    26.                 case 6:         //通道10(外部可变电阻电压),规则组序号1,。。。
    27.                 ADC_RegularChannelConfig(ADC1, ADC_Channel_10,1, ADC_SampleTime_239Cycles5);break;
    28.                 case 7:         //通道11(外部可变电阻电压),规则组序号1,。。。
    29.                 ADC_RegularChannelConfig(ADC1, ADC_Channel_11,1, ADC_SampleTime_239Cycles5);break;
    30.                 case 8:         //通道12(外部可变电阻电压),规则组序号1,。。。
    31.                 ADC_RegularChannelConfig(ADC1, ADC_Channel_12,1, ADC_SampleTime_239Cycles5);break;
    32.                 case 9:         //通道13(外部可变电阻电压),规则组序号1,。。。
    33.                 ADC_RegularChannelConfig(ADC1, ADC_Channel_13,1, ADC_SampleTime_239Cycles5);break;
    34.                
    35.                 }
    36.                
    37.                   ADC_Cmd(ADC1, ENABLE); //使能ADC1
    38.                   ADC_SoftwareStartConvCmd(ADC1, ENABLE);        //启动上面设置好的一个通道,进行转换       
    39.                 while(ADC_GetFlagStatus(ADC1,ADC_FLAG_EOC)==RESET);//等待EOC置位
    40.                 ADCConvertedValue[i]=ADC_GetConversionValue (ADC1);        //把数据寄存器的值读走

    41.                 ADC_ClearFlag(ADC1, ADC_FLAG_EOC);           //清除EOC,DMA时读数据,硬件自动清除
    42.         ADC_SoftwareStartConvCmd(ADC1, DISABLE);
    43.         ADC_Cmd(ADC1, DISABLE);
    44.         }
    45. }
    复制代码
    回复

    使用道具 举报

    8

    主题

    6

    好友

    1263

    积分

    进士

    Rank: 5Rank: 5

  • TA的每日心情
    开心
    半小时前
  • 签到天数: 210 天

    [LV.7]常住居民III

    发表于 2014-5-10 21:44:11 |显示全部楼层
    谢谢分享,下载看看
    回复

    使用道具 举报

    17

    主题

    22

    好友

    3613

    积分

    状元

    Rank: 6Rank: 6

  • TA的每日心情
    奋斗
    2016-8-26 01:52
  • 签到天数: 120 天

    [LV.7]常住居民III

    论坛版主职务勋章 爱板会员勋章

    发表于 2014-5-10 21:46:23 |显示全部楼层
    leo121 发表于 2014-5-10 21:44
    谢谢分享,下载看看

    谢谢支持哈~O(∩_∩)O~~
    回复

    使用道具 举报

    0

    主题

    0

    好友

    3

    积分

    白丁

    Rank: 1

    该用户从未签到

    发表于 2015-3-20 14:19:31 |显示全部楼层
    正在找寻,非常感谢啊 。
    回复

    使用道具 举报

    0

    主题

    2

    好友

    28

    积分

    白丁

    Rank: 1

  • TA的每日心情
    难过
    2015-4-13 14:33
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2015-4-13 14:38:04 |显示全部楼层

    正在找寻,非常感谢啊 。
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    关闭

    站长推荐上一条 /6 下一条


    手机版|爱板网 |网站地图  

    GMT+8, 2016-12-7 03:46 , Processed in 0.091053 second(s), 14 queries , Memcache On.

    苏公网安备 32059002001056号

    Powered by Discuz!

    回顶部