Andrej15041982



Ответы в темах

Просмотр 1 сообщения - с 1 по 1 (всего 1)
  • Автор
    Сообщения
  • в ответ на: Программирование МК STM32 #12598
    Andrej15041982
    Участник

    Доброго времени суток! Решил попробовать сделать ШИМ с помощью DMA и таймера TIM1, тоесть 1) запрос к DMA от таймера в режиме ШИМ 2)DMA пересылает(в circular режиме) в регистр сравнения данные из памяти. Процессор — stm32f030f4 (на 20 контактов).
    НО CubeMX DMA не инициализирует а только пишет такой код:

    static void MX_DMA_Init(void)
    {
    /* DMA controller clock enable */
    __HAL_RCC_DMA1_CLK_ENABLE();

    /* DMA interrupt init */
    /* DMA1_Channel4_5_IRQn interrupt configuration */
    HAL_NVIC_SetPriority(DMA1_Channel4_5_IRQn, 0, 0);
    HAL_NVIC_EnableIRQ(DMA1_Channel4_5_IRQn);

    }

    Я так понимаю, здесь нет привязки dma конкретно к таймеру и вообще никаких настроек,
    только включается тактирование и NVIC.Так и должно быть? нужно инициализировать и связывать dma и tim1 вручную?Заранее большое спасибо за ответ!

  • Автор
    Сообщения
  • в ответ на: Программирование МК STM32 #12598

    Andrej15041982
    Участник
    • Оффлайн

    Доброго времени суток! Решил попробовать сделать ШИМ с помощью DMA и таймера TIM1, тоесть 1) запрос к DMA от таймера в режиме ШИМ 2)DMA пересылает(в circular режиме) в регистр сравнения данные из памяти. Процессор — stm32f030f4 (на 20 контактов).
    НО CubeMX DMA не инициализирует а только пишет такой код:

    static void MX_DMA_Init(void)
    {
    /* DMA controller clock enable */
    __HAL_RCC_DMA1_CLK_ENABLE();

    /* DMA interrupt init */
    /* DMA1_Channel4_5_IRQn interrupt configuration */
    HAL_NVIC_SetPriority(DMA1_Channel4_5_IRQn, 0, 0);
    HAL_NVIC_EnableIRQ(DMA1_Channel4_5_IRQn);

    }

    Я так понимаю, здесь нет привязки dma конкретно к таймеру и вообще никаких настроек,
    только включается тактирование и NVIC.Так и должно быть? нужно инициализировать и связывать dma и tim1 вручную?Заранее большое спасибо за ответ!

Просмотр 1 сообщения - с 1 по 1 (всего 1)