STM32F405 FOC 使用Timer 触发 ADC采集

1. ADC采集模式

根据STM32F405数据手册,可以看到ADC block diagram,ADC主要有两种触发模式:

  1. regular conversion mode:常规通道
  2. injected conversion mode:注入通道
    在这里插入图片描述
    在这里插入图片描述

2. 高级Timer模式

这里我们用到的是高级定时器的TRGO功能
在这里插入图片描述
在这里插入图片描述

3. ADC1 连续采集

连续采集有两种实现方式:

3.1 DMA软件触发

转换完成中断中,再次启动DMA转换

void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef *hadc)
{
   
   
    printf("%d \t %d \t %d \t %d \r\n",adc1_value[0], adc1_value[1], adc1_value[2], adc1_value[3]);
    HAL_ADC_Start_DMA(&hadc1, (uint32_t *)adc1_value, ADC_CHNNELS);
}

3.2 DMA+TIM触发

DMA+TIM触发,由TIM trigger event触发DMA采集,只需要在main函数中启动一次DMA采集即可
参考 STM32CubeMX | HAL库的ADC多通道数据采集(轮训、DMA、DMA+TIM)、读取内部传感器温度)配置,但是发现只能启动一次DMA,测试发现需要将ADC1的DMA continuous request设置为enable
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BobBobBao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值