STM32使用TIM3TRGO触发ADC采样配置说明

配置情况:采样交流电压电流,由TIM3_Trgo触发;由于要计算电压电流有效值,功率因数等参数需要使用FFT,所以我们设定  20ms采样64次(Ua,Ub,Uc,Ia,Ib,Ic 一共6个通道)。

ADC_Data[64*6]//DMA接收缓冲区,因为有6个通道,每个通道每20ms采样64点数据,所以缓冲区大小为64*6;

ADC的配置注意:

        1.我只使用了ADC1的6个通道,所以ADC_Mode配置为独立模式(ADC_Mode_Indepent);

        2.因为是多通道采样,所以ADC_SacnConvMode必须配置为ENABLE(开启扫描模式);

        3.ADC_ExternalTrigConv配置为T3_TRGO;

        4.采用TIM3TRGO触发采样不能使能ADC的连续转换(至少在我的使用方案,20ms采样64点数据的情况下不能使能ADC的连续转换);

        5.ADC配置完成之后需要软件启动采样一次(ADC_SoftwareStartConvCmd(ADC1,ENABLE));

DMA配置注意:      

        1.内存和寄存器数据大小为半字(至于其他模式因为时间原因我没有尝试,有兴趣的小伙伴可以试一试)

        2.DMA缓冲区大小设置为64*6

        3.DMA_Mode必须设置为DMA_Mode_Circular(在我的当前配置环境下,独立模式需要更改读取数据方式并在读取数据后重新配置DMA部分参数,具体用法我没有深入探究);

 

  • 9
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值