STM32 ADC+DMA导致写FLASH失败 [复制链接]
发表于 2024-9-13 01:02:28 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
近来用STM32G070系列的ADC+DMA采样时,碰到了一些小坑记载一下;

一、ADC+DMA采样时进入死循环;
办理方法:ADC-dma死循环题目_stm32 adc dma死机-CSDN博客
将ADC的DMA停止调整为最高,且增大ADCHAL_ADC_Start_DMA(&hadc1, (uint32_t*)adc_buffer, ADC_Buffer_Size); 的ADC_Buffer_Size,原本ADC_Buffer_Size是1,改为5之后就不会进入hard_fault死循环了;

二、ADC+DMA连续转换导致写FLASH失败
网上有人说写FLASH之前需要__disable_irq()禁用停止,写FLASH结束再规复停止,我这么做了但是还是无法写成功(不开启ADC+DMA连续转换前是可以写FLASH的),于是就把连续转换改成了手动软件触发,每次需要ADC数据的时间就软件触发一次,如许才可以正常写入FLASH,也不知道为什么;

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表