坑爹的官方例子代码,坑爹的驱动 整了一下午,终于发现问题: /*ADC初始化时,将ADC_CommonInitStructure.ADC_DMAMode = ADC_DMAMode_Circular;但时钟只转换了一次*/ ADC_CommonInitStructure.ADC_Mode = ADC_Mode_Independent; ADC_CommonInitStructure.ADC_Clock = ADC_Clock_AsynClkMode; ADC_CommonInitStructure.ADC_DMAAccessMode = ADC_DMAAccessMode_1;//ADC_DMAAccessMode_Disabled; ADC_CommonInitStructure.ADC_DMAMode = ADC_DMAMode_Circular;//ADC_DMAMode_OneShot; ADC_CommonInitStructure.ADC_TwoSamplingDelay = 0; ADC_CommonInit(ADC1, &ADC_CommonInitStructure); 官方驱动ADC_CommonInit(ADC1, &ADC_CommonInitStructure);是对ADCx_CCR进行配置 而器件手册RM3316上明确指出ADCx_CFGR的ADC_CFGR_DMACFG是对DMA单次还是连续转换的控制开关, 使用ADC_DMAConfig(ADC1,ENABLE) ;还是不能连续转换,进入ADC_DMAConfig函数:修改代码 void ADC_DMAConfig(ADC_TypeDef* ADCx, uint32_t ADC_DMAMode) { /* Check the parameters */ assert_param(IS_ADC_DMA_PERIPH(ADCx)); assert_param(IS_ADC_DMA_MODE(ADC_DMAMode)); /* Set or reset the DMACFG bit */ ADCx->CFGR &= ~(uint32_t)ADC_CFGR_DMACFG; /*Modify By SuperSnoic.LYL 2013.7.31*/ if(ADC_DMAMode==ENABLE) { ADCx->CFGR |= ADC_CFGR_DMACFG; } } 终于连续转换了 坑爹的 |
STM32F3 硬件I2C 驱动OLED 求助!!
STM32F303使用定时器触发双ADC常规同步采样模式
哪位大哥传下STM32F334 Nucleo的工程模板给我下
STM32F334 不能串口下载
关于STM32F334的HRTIM分辨率问题
STM32F303+LCD1602程序问题,不只为什么点不亮?
STM32F334的ADC使用问题
STM32F334 HRTIM形成移相全桥波形问题
有用过STM32F373VC的板子么 iic 例程不好使
STM32F3 ADC外部触发采样达不到7.2MSPS
回复:STM32F3 DISCONVERY DMA只能单次转化,不能连续转换的原因
RE:STM32F3 DISCONVERY DMA只能单次转化,不能连续转换的原因