Cubemx配置ADC规则和注入通道——野火STM32电机系列(六)
前文已经配置了GPIO、编码器
本节讲解CubeMXADC规则和注入通道
本文adc注入通道采用定时器触发,因此在上文定时器配置的基础上进行
常规信号(温度等)使用带DMA的常规通道连续采样
注入采样由定时器触发,采集电机三相电流,并进入adc中断执行10khz的控制程序
ADC硬件接口如下
Motor1–IU–PA3–ADC1_IN3
Motor1–IV–PA4–ADC1_IN4
Motor1–IW–PA6–ADC1_IN6
Motor1–VBUS–PB0–ADC1_IN8
Motor1–IBUS–PB1–ADC1_IN9
Motor1–EMFU–PC0–ADC1_IN10
Motor1–EMFV–PC2–ADC1_IN12
Motor1–EMFW–PC3–ADC1_IN13
其中 设定 ADCIN3 ADCIN4 ADCIN6为定时器触发的注入通道,其他为adc规则通道,并由DMA进行处理。
先打开DMA配置
对ADC模式进行配置,采用扫描,连续,开启DMA
其中adc1 8 9 10 12 13一共5个通道配置为常规通道
3路电流adc1的3 4 6通道配置为注入通道。
为了测试ADC和TIM定时器的同步,加入一个GPIO口 (PF11)观测电平
打开ADC中断
生成代码
定义dma数组和注入通道数组
开启DMA,开启ADC注入通道和中断
编写ADC中断函数
可以看到ADC采样在定时器计数值为0的时刻,配置正确。