Skip to main content
Associate II
June 9, 2025
Solved

STM32F767 Trouble with certain DMA channel/stream selections

  • June 9, 2025
  • 1 reply
  • 411 views

I'm trying to get the DMA engine to trigger transfers on TIM8_CH1 (DMA Request Mapping:  Channel 7, Stream 2). However, it's not working. I verified that the TIM8_CC1 looked good by driving it to an alternate function output. 

Then, all I changed was the DMA Request Mapping stream number: Channel 7, Stream 3, to select TIM8_CH2, and setup TIM8_CC2 instead of TIM8_CC1. Surprisingly this worked, and DMA is running as expected.

I then setup both TIM8_CC1 and TIM8_CC2 with the same settings, routed both to GPIO pins using alternate function outputs, and looked at both signals on an oscope: They are completely identical.

The only difference is setting up the DMA for TIM8_CH1 (stream 2) vs TIM8_CH2 (stream 3). For whatever reason, TIM8_CH1 (stream 2) doesn't work even though TIM8_CC1 is running.

Any ideas?

Best answer by stmcoder

Hello, I found the issue. I wasn't setting up TIMx_DIER correctly per CC channel. All is working now. Thanks!

1 reply

TDK
Super User
June 9, 2025

> STM32F67 

??

Something in the code is wrong. If you show the code, it may be possible to spot it.

"If you feel a post has answered your question, please click ""Accept as Solution""."
stmcoderAuthorBest answer
Associate II
June 10, 2025

Hello, I found the issue. I wasn't setting up TIMx_DIER correctly per CC channel. All is working now. Thanks!