cancel
Showing results for 
Search instead for 
Did you mean: 

Multiple DMA requests on one OC

luke2
Associate II
Posted on March 24, 2016 at 04:49

On the STM32F303 I am attempting to use a timer OC to trigger two DMA requests - one to output a value on GPIO, and the other to update the CCR value on the timer channel to set the next OC trigger point from a list in memory. Unfortunately it seems that there doesn't appear to be any timer channels that can trigger a request on two different DMA channels simultaneously. I could use an interrupt and update the CCR in code, but timeliness and cycle waste is a large factor due to high frequency on the timer and deadlines that cannot be missed. I suppose I could output the OC signal on a pin and then route it back into an IC then use that as a DMA trigger but I don't like this solution and it wastes pins.

Does anybody have any other ideas for how this could be done in a more elegant way? I am new to the F3, and have mostly worked with F0 devices so there are possibly features I have not considered that are relevant.

Thanks
1 REPLY 1
Posted on March 24, 2016 at 10:16

Use the CC as TRGO, chain to another timer and use its TRGI as DMA request? Some delays will be introduced but that might not be an issue.

JW