ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Понедельник
6 мая
1426481
Mty1 (14.04.2024 21:19, просмотров: 520)
Не работает DMA Memory->GPIO по таймеру. Подскажите- что не так? Timer1 канал1 по событию UpdateEvent запускает DMA передачу в порт B. Таймер работает (видно по выходу), а в порту B тишина - все пины 0 
  MX_GPIO_Init();
  MX_DMA_Init();
  MX_TIM1_Init();
  /* USER CODE BEGIN 2 */
  PrepareDMAbuffer();   // Здесь в буфер заливаются данные буфер 12900байт
  HAL_DMA_Start(htim1.hdma[TIM_DMA_ID_UPDATE], (uint32_t)DMAbuff, (uint32_t)&GPIOB->ODR, MAX_TICKS);
  HAL_TIM_PWM_Start(&htim1, TIM_CHANNEL_1);  

/* Enable the TIM Update DMA request */ __HAL_TIM_ENABLE_DMA(&htim1, TIM_DMA_UPDATE); /* Enable the Peripheral */ __HAL_TIM_ENABLE(&htim1);