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

关于STM32的多路ADC+DMA采集的问题

[复制链接]
FoNg0716 提问时间:2016-4-20 19:09 /
芯片型号是STM32F401RET
我在cubeMx生成的代码,设置如下图,file:///C:\Users\windows8\AppData\Roaming\Tencent\Users\344055076\QQ\WinTemp\RichOle\GSHE0%AQER0BJHLRI_T}LFI.png我是想在串口中看ADC的值但是我开启这个语句HAL_ADC_Start_DMA(&hadc1,temp,2);,串口就打印不出来了,在线调试,发现应该卡在这个函数里面了。

我的读取程序如下:

HAL_ADC_Start_DMA(&hadc1,temp,2);

tempHigh = temp[0]>>8;
tempLow = temp[0];
HAL_UART_Transmit(&huart1,&tempHigh,1,10);
HAL_UART_Transmit(&huart1,&tempLow,1,10);

tempHigh = temp[1]>>8;
tempLow = temp[1];
HAL_UART_Transmit(&huart1,&tempHigh,1,10);
HAL_UART_Transmit(&huart1,&tempLow,1,10);


求助啊!!!!




file:///C:\Users\windows8\AppData\Roaming\Tencent\Users\344055076\QQ\WinTemp\RichOle\GSHE0%AQER0BJHLRI_T}LFI.png



GSHE0%AQER0BJHLRI_T}LFI.png
QQ图片20160420185632.png
QQ图片20160420185712.png

Test.rar

下载

7.4 MB, 下载次数: 1755, 下载积分: ST金币 -1

代码

收藏 2 评论30 发布时间:2016-4-20 19:09

举报

30个回答
Paderboy 回答时间:2016-4-20 20:56:31
本帖最后由 Paderboy 于 2016-4-20 21:27 编辑

刚好有这个板子。。。做了个工程,开了4个ADC 通道, PA0 PA1 内部温度和内部参考电压通道。。
测试结果
cannon-07.png

整个工程。。 STM32F401RE_DMA_ADC.rar (3.4 MB, 下载次数: 862)
wuwovicky 回答时间:2016-4-20 21:01:10
卡在哪个函数?
我不知道cube的ADC是怎么样的,但是我来分析的话,有以下几点:
1、你是怎么触发ADC采集的,定时器触发ADC采集,还是软件触发ADC采集,如果只开启ADC的DMA功能,而没有开始转换的话,值是不会保存到temp中的.
2、cube库中有个函数叫CALLBACK函数,你必须要等到dma接收完成后,才开始串口打印吧,可以在串口接收callback函数中,定义一个标志位,当置位,才开始串口传输。
FoNg0716 回答时间:2016-4-21 09:18:20
Paderboy 发表于 2016-4-20 20:56
刚好有这个板子。。。做了个工程,开了4个ADC 通道, PA0 PA1 内部温度和内部参考电压通道。。
测试结果

非常感谢你,试用你的工程,的确可以,参考你的程序,发现是回调函数标志问题,只不过这个为什么这么添加就不太有头绪,刚学用STM32。
FoNg0716 回答时间:2016-4-21 09:21:06
wuwovicky 发表于 2016-4-20 21:01
卡在哪个函数?
我不知道cube的ADC是怎么样的,但是我来分析的话,有以下几点:
1、你是怎么触发ADC采集的 ...

正如你所说的,的确要在HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef* hadc)增加标志,当标志位满足,默认为转换完毕,串口才开始发送转换数据。否则的话会卡在HAL_ADC_Start_DMA这个函数中。
如果不是楼上DEMO有比较,自己真不知道为什么还要再那里加个标志位。。。
Paderboy 回答时间:2016-4-21 10:25:16
FoNg0716 发表于 2016-4-21 09:18
非常感谢你,试用你的工程,的确可以,参考你的程序,发现是回调函数标志问题,只不过这个为什么这么添加 ...

你应该多看看,HAL库里例程。。。
power568 回答时间:2016-4-21 14:15:44
学习学习了...
cubeMx的确有好多地方需要注意...
liaocongyan-273 回答时间:2016-7-31 16:12:07
非常好 谢谢分享
lsyswh 回答时间:2017-1-7 18:02:09
感谢分享
suanmulin 回答时间:2018-2-26 14:39:37
感谢分享
1234下一页
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版