DMA request via GPIO pin
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2010-06-06 9:57 AM
Posted on June 06, 2010 at 18:57
DMA request via GPIO pin
This discussion is locked. Please start a new topic to ask your question.
3 REPLIES 3
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2011-05-17 4:53 AM
Posted on May 17, 2011 at 13:53
Hello,
I think there is no way to trigger a DMA transfer with a standard GPIO pin. But you can route your signal to a Timer input, configure this input for a capture with a rising edge and activate a DMA transfer for the capture event. I don't try this method. But I have an application in which a Timer generate an output compare with a trigger for a DMA transfer which write on a GPIO port and all is well. Best regards EricOptions
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2011-05-17 4:53 AM
Posted on May 17, 2011 at 13:53
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2011-05-17 4:53 AM
Posted on May 17, 2011 at 13:53
Do you have a reference on what needs to be done, as I want to trigger a DMA based on a timer set to a specific frequency. Is there any demo code available?
Should be one bundled in the Keil and IAR evals from the prior library. Examples\ST\STM32F10xFWLib\Examples\DMA\ADC_TIM1 This is perhaps a tad more complicated than you want, but does advance the DMA on the timer update. The crux of the code is to use DMA1 and TIM1 Initialize DMA1, Channel 5 Initialize TIM1 /* Enable TIM1 */ TIM_Cmd(TIM1, ENABLE); /* Enable TIM1 DMA interface */ TIM_DMACmd(TIM1, TIM_DMA_Update, ENABLE); DMA1 stroked at TIM1 Update Interval Referring to the RM0008 (Reference Manual), Rev 11, Table 65 lists the DMA requests for each channel. DMA1, Channel 2, TIM2 Update DMA1, Channel 3, TIM3 Update DMA1, Channel 5, TIM1 Update DMA1, Channel 7, TIM4 Update DMA2, Channel 1, TIM8 Update DMA2, Channel 2, TIM5 Update There are other timer inputs to the DMA controllers, but the update would seem to be the simplest mode and not require any intervention via interrupt, etc.
Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
Up vote any posts that you find helpful, it shows what's working..
