2017-10-24 02:30 AM
I use STM32F103, DMA1->CH6
USART2 RX and TIM3 TIM3_CH1 both can use this channel.
If only
USART2 RX or TIM3
TIM3_CH1 to use this channel,it is ok!
but how to multi use for two request?
thank you very much.
2017-10-29 08:03 AM
You can't.
Couldn't you use a different channel of TIM3, mapping to different DMA channel?
JW
2017-10-30 02:45 AM
TIM3_CH1
request only map to DMA channel 6.
2017-10-30 02:58 AM
Before I design a board schematic, I print the alternate function table and the DMA channel tables to make sure there is no conflicts. Now this is done by CubeMX to avoid challenges ahead.
Use a different timer channel or different time or a different usart, if the pinout is compatible.
2017-10-30 03:13 AM
Thank you, I will re-design
board schematic.
2017-10-30 03:36 AM
Based on that picture I assume you have already occupied channel2 to channel 7.
Can't you use TIM4_CH1 or TIM2_CH3 for the DMA, maybe without redesign of the board, for example employing timer chaining in some way?
JW
2017-11-04 04:00 AM
hehe, you are right. Actually, from ch1 to ch7, all be used!
Instead, use interrupt to handle request.
2018-10-09 02:41 AM
Hello, we are currently having the same problem on an STM32F427. We want use 5 UARTS, ADC1 and one SPI interfaces togehter with DMA and now we have a stream collision.
Is it possible to share a stream by examining the channel (reading CHSEL bits) on the ISR of corresponding stream to get the hardware instance relating to the channel? We are using the STM32F4 HAL
2018-10-09 03:48 AM
> Is it possible to share a stream
Not simultaneously, i.e. in the same time.
USARTs are usually slow enough so that they can be comfortably handled by interrupts.
JW