你的浏览器版本过低,可能导致网站不能正常访问!为了你能正常使用网站功能,请使用这些浏览器。
adc+dma采样,代码是通过cubemx生成的,调试时发现adc通过dma采集到的数据不对,通过单步仿真发现在HAL_DMA_Init函数中配置dma的CR寄存器没有生效,但是在dma初始化完成后再对cr寄存器赋值就有效了,这是hall库的bug还是我的使用方法不对,用clion开发的
举报
butterflyspring 发表于 2023-6-20 11:45 基于HAL库的程序正常顺序应该是先调用 MX_DMA_Init() 再调用MX_ADC1_Init(); 因为MX_DMA_Init() 中有使 ...
非常感谢,确实是你说的这个问题导致的
而且我测试了一下,如果配置ADC但不启用DMA生成代码,然后再启用DMA再次生产代码,就会出现DMA初始化在ADC初始化之后的问题
STM32G030K6Tx使用ADC+DMA进行6通道ADC采集,DMA传输错位问题。
关于AN2867文档的疑问
tougfx 显示问题
F429同时使用SDRAM和SRAM
CAN数据重发
littlefs系统能读写SD卡吗?
STM32F405的ADC功耗参数不理解
STM32F405RGT6 ADC2+TIM4触发+DMA(DMA2_Stream2_CH1)+DMA中断会死机(取消中断后完全正常)
CUBEIDE1.19.0
stm32支持canfd和dma结合使用吗
因为MX_DMA_Init() 中有使能时钟的操作。如果时钟没有先打开,寄存器就操作不成功。
楼主可以注意一下这一点,必要时手动调整一下初始化顺序。
非常感谢,确实是你说的这个问题导致的
而且我测试了一下,如果配置ADC但不启用DMA生成代码,然后再启用DMA再次生产代码,就会出现DMA初始化在ADC初始化之后的问题
一方面靠我们自己多关注、多积累;
另一方面,ST 当前最新版本基本排除了该问题,尽量使用最新版CubeMx
来着手配置。