BDMA -Availability depends on devices.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
2021-12-07 4:40 AM
hello
ı use stm32h723zg and ı use bdma for adc3 , I was wondering if bdma can be used with adc3. I looked in the reference guide but couldn't find it. I will be glad if you help.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
2021-12-07 5:01 AM
Data Sheet should indicate the H7xx devices having an ADC3
Will need to check later.
Up vote any posts that you find helpful, it shows what's working..
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
2021-12-07 5:11 AM
I didn't fully understand what you were saying.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
2021-12-07 5:38 AM
also h723 has error in bdma partition. bdma's register are not available in cube ide. only it have IFCR,ISR.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
2021-12-07 6:12 AM
a) Not all H7 have an ADC3
b) I will look at the DS/RM when I'm at a computer
Part looks to have ADC3 on AHB4, and the BDMA should be able to use it provided the destination buffer is in the SRAM4 (D3 Domain)
Up vote any posts that you find helpful, it shows what's working..
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
2021-12-07 6:23 AM
MY code is:
LL_AHB4_GRP1_EnableClock(LL_AHB4_GRP1_PERIPH_BDMA);
// NVIC_SetPriority(BDMA_Channel1_IRQn, NVIC_EncodePriority(NVIC_GetPriorityGrouping(),0, 0));
// NVIC_EnableIRQ(BDMA_Channel1_IRQn);
LL_BDMA_InitTypeDef BDMA_InitStruct = {0};
BDMA_InitStruct.Direction=LL_BDMA_DIRECTION_PERIPH_TO_MEMORY;
BDMA_InitStruct.MemoryOrM2MDstAddress=(uint32_t)&sina;
BDMA_InitStruct.MemoryOrM2MDstDataSize=LL_BDMA_MDATAALIGN_WORD;
BDMA_InitStruct.MemoryOrM2MDstIncMode=LL_BDMA_MEMORY_NOINCREMENT;
BDMA_InitStruct.Mode=LL_BDMA_MODE_CIRCULAR ;
BDMA_InitStruct.NbData=1;
BDMA_InitStruct.PeriphOrM2MSrcAddress=(uint32_t)&ADC3->DR;
BDMA_InitStruct.PeriphOrM2MSrcDataSize=LL_BDMA_PDATAALIGN_WORD;
BDMA_InitStruct.PeriphOrM2MSrcIncMode=LL_BDMA_PERIPH_NOINCREMENT;
BDMA_InitStruct.PeriphRequest=LL_DMAMUX2_REQ_ADC3;
BDMA_InitStruct.Priority=LL_BDMA_PRIORITY_VERYHIGH;
LL_BDMA_StructInit(&BDMA_InitStruct);
LL_BDMA_Init(BDMA,LL_BDMA_CHANNEL_1,&BDMA_InitStruct);
// LL_BDMA_EnableIT_TC(BDMA, LL_BDMA_CHANNEL_1);
LL_BDMA_EnableChannel(BDMA, LL_BDMA_CHANNEL_1);
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
2021-12-07 6:26 AM
adc works but dma does not send data
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
2021-12-07 6:31 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
2021-12-07 6:34 AM
Is sina[] in SRAM4 (0x38000000) ?
If the BDMA throws a Transfer Error, probably not..
Up vote any posts that you find helpful, it shows what's working..
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
2021-12-07 6:38 AM
> I was wondering if bdma can be used with adc3.
Yes. BDMA is hooked up to DMAMUX2 per the reference manual. DMAMUX2 is connected to ADC3 through requests 26/27 (ADC3_IT/ADC3_AWD). See "17.3.3 DMAMUX2 mapping".
