stm32F407ADC采样配置

本文介绍了在STM32F407上配置ADC和DMA进行信号采样的过程。重点讨论了规则转换组的配置、通道选择、触发方式、DMA数据传输的注意事项,以及在实际操作中遇到的数据错位问题和解决方法。通过DMA避免了EOC中断可能引发的数据错误,并实现了连续采样。
摘要由CSDN通过智能技术生成

这几天在调试Stm32F407AD部分,需要对两路信号进行采样处理,还是运用网上推荐的DMA方式进行数据存储传送。

在配饰ADC和DMA中对AD部分有了一些深入的了解。F407AD有规格转换组和注入组,感觉两种方式没有多大的区别,暂时只用到规则组。在配饰AD时,只需要配置通道数和通道的转换顺序即可,相应的通道在芯片中已经确定,比喻PA0为通道1,PC0为通道10,这些都已经确定。

ADC_InitStructure.ADC_NbrOfConversion = 2;  总通道数,

ADC_RegularChannelConfig(ADC1, ADC_Channel_0, 1, ADC_SampleTime_3Cycles); 

ADC_RegularChannelConfig(ADC1, ADC_Channel_10, 2, ADC_SampleTime_3Cycles); 设置的两路通道转换顺序, 管教PA0和PC0两路,通道0先,通道11后转换。根据硬件电路配置相应的通道。

ADC出发方式可以设置软件触发和外部定时器触发,我运用了Tim8的CC1进行触发,Tim8的配置跟普通定时器相同,配置CC1。ADC_InitStructure.ADC_ExternalTrigConvEdge =ADC_ExternalTrigConvEdge_Rising ;选择一种触发方式。

ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_T8_CC1;  可以是其他的定时触发。

配置扫描模式和循环模式。

 

因为要两路信号不停的进行采样,需要利用DMA进行数据传输,如果利用EOC中断可能会导致数据的错误。

在DMA进行配置时, 内存外设的大小结构要

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值