ST意法半导体
直播中

卢表镜

7年用户 1016经验值
私信 关注
[问答]

CubeMX:ADC和DMA以错误的顺序初始化要怎么处理?

STM32L010C6Tx
STM32CubeMX V 5.4.0
FW_L0 V1.11.2
当创建一个新的项目,使用ADC 和 DMA 以及一些不相关的外围设备时,cubeMX 会在 main 中生成如下初始化列表:
  •   /* Initialize all configured peripherals */
  •   MX_ADC_Init();
  •   MX_DMA_Init();
  •   MX_TIM2_Init();
  •   MX_TIM21_Init();
  •   MX_GPIO_Init();
  •   /* USER CODE BEGIN 2 */
这是一个错误 - MX_DMA_Init() 应该在 MX_ADC_Init() 之前调用。ADC 初始化函数将尝试写入 DMA CCR1 寄存器,但会失败,因为 DMA 尚未初始化。


更多回帖

发帖
×
20
完善资料,
赚取积分