你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

st-img
chrome
st-img
firefox
st-img
safari
st-img
ie8及以上
shequ.stmicroelectronics.cn
  • ST意法半导体官网
  • STM32中文官网
  • ST全球论坛
登录/注册
  • 首页
  • 技术问答
  • 话题
  • 资源
  • 创客秀
  • 视频
  • 标签
  • 积分商城
  • 每日签到
onlap

onlap

 

回答数 0 关注数 0
关注 私信
  • 动态99
  • 提问
  • 回答0
  • 创客秀 0
  • 分享 0
  • 关注0
13 回答

STM32H7A3 怎样配置MDMA的硬件触发MDMA_REQUEST_DMA1_Stream0_TC将数据再次转运

STM32H7 DMA ADC
xmshao xmshao 回答时间: 3 天前

[md]哦 那我明白了。 这个地方我要验证下,验证过后再分享与你。 不过,初步估计问题应该不在ADC这里。

赞0
9 回答

STM32H7A3RGT6 ADC 8位采样速度只能达到3.5MSPS达不到数据手册上的7MSPS ?

STM32H7 DMA ADC
onlap onlap 最优答案 回答时间: 2026-1-6 17:23

[md]现在发现问题是MXcube配置时钟造成的,PLL2P正确配置应该是100MHz才正确(配置为100MHz时提示错误),因为ADC选择时钟源后,内部硬件有一次2分频才到ADC内核使用,所以不用管软件提示 ,将PLL2P设置为100MHz就正确了 LL_RCC_PLL2P_Enable();//使能PLL2P 100MHz to ADC LL_RCC_PLL2_SetVCOInputRange(LL_RCC_PLLINPUTRANGE_2_4); LL_RCC_PLL2_SetVCOOutputRange(LL_RCC_PLLVCORANGE_WIDE); LL_RCC_PLL2_SetM(4);//HSE/4=2MHz LL_RCC_PLL2_SetN(150);//2MHz*150=300MHz LL_RCC_PLL2_SetP(3);//300MHz/3=100MHz LL_RCC_PLL2_SetQ(2);//300MHz/2=150MHz LL_RCC_PLL2_SetR(2);//300MHz/2=150MHz LL_RCC_PLL2_Enable();//使能PLL2外设时钟 / Wait till PLL is ready / while(LL_RCC_PLL2_IsReady() != 1) { } 这样配置后单一通道采样速率可以达到7MSPS(双重同步模式每个单一通道也可以达到7MSPS) 但是双重交替采样模式无法达到14MSPS(7MSPS×2),不清楚是什么原因 双重交替采样DMA也出现以下问题,不清楚是什么原因 如果这两个位置有数据,速度就是14MSPS,但是CDR这个16:31位置都是0,不清楚是什么原因 因为双重交替采样模式使用一个DMA模式下,必须将ADC1和ADC2的数据转运完成之后才能进行新的数据转换,所以ADC速度为ADC1+ADC2的时间决定的,所以还是7MSPS,无法达到14MSPS(7MSPS×2) 最后获取14MSPS采样的方法如下 使用TIM1的CC(50%占空比,频率7MHz)触发ADC1,8位采样率,采样速度7MSPS,使用DMA1_Stream0,采用16位数据宽度,获得一个偶数位置位有效8位数据,奇数位全部为0的数组 使用TIM1的更新事件(50%占空比,频率7MHz)触发ADC2,8位采样率,采样速度7MSPS,使用DMA1_Stream1,采用8位数据宽度,获得一个有效8位数据的数组 然后暂停数据采样,使用MDMA_Channel1拷贝数据, 将ADC2的采样数据作为源地址,8位数据宽度,地址指针递增1字节,起始地址为ADC2数组的第0位, 将ADC1的采样数据作为目的地址,数据宽度为8位,地址指针递增2字节,起始位置ADC1数组的第1位, 进行数据拷贝,意思是将ADC2的采样数据拷贝到ADC1数组的奇数位置,覆盖数据全为0的位置 最后获得了ADC1+ADC2按照采样时间排序的数组数据,等效采样率为14MSPS 然后进行数据处理和显示,完成之后再开始采样

赞0
2 回答

//STM32H7A3VGT6 QSPI的DMA方式无法正常工作

STM32H7 DMA SPI
onlap onlap 回答时间: 2025-11-5 21:45

问题已解决: 原来是库函数内部有错误 HAL_OSPI_Receive_DMA(&hospi1, pData)//此函数内部调用库函数HAL_MDMA_Start内部源地址与目的地址调转位置了

赞0
5 回答

STM32H7A3VGTA QSPI读W25Q128J DMA模式不能工作

STM32H7 DMA SPI
xmshao xmshao 回答时间: 2025-11-11 18:00

[md]现在的版本是正确的: HAL_OSPI_Receive_DMA(OSPI_HandleTypeDef hospi, uint8_t pData)

赞0
1 回答

STM32F405RGT6 ADC2+TIM4触发+DMA(DMA2_Stream2_CH1)+DMA中断会死机(取消中断后完全正常)

STM32F4 DMA ADC
xmshao xmshao 回答时间: 2025-7-22 14:29

你检查下使用ADC2/ADC3时除了模块的差别外,其它是否都是一样的。 检查下是否有中断服务程序跟中断矢量表里定义的不一致的情况。 可以肯定TIM4的OC4事件时可以用来触发ADC1/2/3的。 我这边使用TIM4同时触发3个ADC模块,DMA循环搬运结果,程序运行可控。 尽量使用CubeMx进行配置,这样方便。

赞0
onlap onlap


阅读作者更多的帖子

所在话题

参与活动

  • 滴滴押注社区团购,明确“投入不设上限,要做市场第一”

    线下 2020-10-16
  • 滴滴押注社区团购,明确“投入不设上限,要做市场第一”

    网络 2020-10-16
  • 滴滴押注社区团购,明确“投入不设上限,要做市场第一”

    网络 2020-10-16
  • 滴滴押注社区团购,明确“投入不设上限,要做市场第一”

    网络 2020-10-16
  • 滴滴押注社区团购,明确“投入不设上限,要做市场第一”

    线下 2020-10-16
  • 滴滴押注社区团购,明确“投入不设上限,要做市场第一”

    线下 2020-10-16