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

CUBEMX_FREERTOS ADC_DMA死机,高手一定遇到过

[复制链接]
liuxy236@tom.co 提问时间:2017-10-17 09:27 /
       使用STM32CUBEMX4.22.1版本,内嵌FREERTOS,想把4路ADC通过DMA方式采集,但是在main函数里面添加一行语句:                              HAL_ADC_Start_DMA(&hadc1,&ADC_DMA_Buf[0],4);后就死机了

       屏蔽掉后任务就可以运行正常!折腾4天了,始终未找到问题,有谁遇到过?全部工程在附件里面

Concentrate_Hot3.zip

下载

4.17 MB, 下载次数: 110, 下载积分: ST金币 -1

收藏 1 评论13 发布时间:2017-10-17 09:27

举报

13个回答
wenyangzeng 回答时间:2017-10-17 11:32:33
无标题.png

没有死机呀,ADC数据一直在更新。

评分

参与人数 1ST金币 +3 收起 理由
zero99 + 3

查看全部评分

e=mc23 回答时间:2017-10-17 13:12:09
是不是缓冲区越界了?
liuxy236@tom.co 回答时间:2017-10-17 16:14:27
我的怎么死活不行呢?郁闷死了!
liuxy236@tom.co 回答时间:2017-10-17 18:34:46
wenyangzeng 发表于 2017-10-17 11:32
没有死机呀,ADC数据一直在更新。

d:1
liuxy236@tom.co 回答时间:2017-10-17 18:35:40
本帖最后由 liuxy236@tom.com 于 2017-10-17 18:43 编辑

D:1.BMP
liuxy236@tom.co 回答时间:2017-10-17 18:38:17
D:1.BMP
liuxy236@tom.co 回答时间:2017-10-17 18:41:34
口误,也不叫死机吧,就是创建的任务不执行了!
1.jpg
liuxy236@tom.co 回答时间:2017-10-17 18:44:31

口误,也不叫死机吧,就是创建的任务不执行了!图中,ADC数据是正常的,但是创建的任务不执行了,在任务里面设置断点都不进去!
1.jpg
z15502191317 回答时间:2018-1-26 11:23:37
        if(HAL_ADC_Start_DMA(&hadc1, (uint32_t *)&ADC_DMA_Buf,4) != HAL_OK)
        {
                /* Start Conversation Error */
                _Error_Handler(__FILE__, __LINE__);
        }
kerry94 回答时间:2019-7-19 17:07:11
我也出现了,我是这么解决的
微信图片_20190719170654.png
garyhobson 回答时间:2020-1-17 17:28:16
我也碰到了,总算找到原因,进入debug模式下主循环一直没执行,单步调试一直在adcDMA回调里面。
然后一张图提醒了我,由于adc的采样速度太快,而DMA缓存的大小很小,而一直进入中断更改ADC时钟就可以了
TIM截图20200117172606.png
TIM截图20200117172606.png
米兰的无线电 回答时间:2020-1-31 18:52:53
mark!多谢分享!FreeRTOS-ADC@DMA
epic42babb 回答时间:2020-9-25 11:56:01
请问这个采用DMA进行ADC传输还有必要开启ADC中断吗?
另外,HAL_ADC_START_DMA()这个函数开启之后程序就不动了,这个会是什么原因?

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版