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

新版本cube MX 如何设置多通道ADC采样

[复制链接]
wayhe 提问时间:2016-3-2 10:13 /
阅读主题, 点击返回1楼
收藏 2 评论19 发布时间:2016-3-2 10:13
19个回答
lsyswh 回答时间:2017-1-7 18:08:08
配置多通道最好使用DMA,
启动DMA同时就是启动多通道采集。你配置好工程后会自动配置通道的
HAL_ADC_Start_DMA(&hadc,ADC_ConvertedValue,2)
这里面ADC_ConvertedValue是一个数组,后面的2代表两通道,是你自己定义的。
HAL_ADC_ConvCpltCallback里面要注意,可以按照楼上给的示例做测试(我在测试时里面如果没有配置好就会死在DMA中断里)。

另外你说的回自动清除你写的代码,要注意在
以下位置写入(以main中的USER CODE BEGIN 3为例),
/* USER CODE BEGIN 3 */



/* USER CODE END 3 */

还有,做开发心态很重要,抱怨HAL库的时候多想想实现原理,你会有更多收获。
wayhe 回答时间:2017-1-13 08:28:08
lsyswh 发表于 2017-1-7 18:08
配置多通道最好使用DMA,
启动DMA同时就是启动多通道采集。你配置好工程后会自动配置通道的
HAL_ADC_Start_ ...

在STM32F系列ADC采用DMA好像可以这样配置,STM32L051好像没法配置多通道,你可以试试,不知道是不是我的软件版本没跟上;
你说的在:
/* USER CODE BEGIN 3 */



/* USER CODE END 3 */内写函数,当然是写这里的,你觉得会犯这么低级的错误吗?
我说的删除用户程序可不是这里而是连用户写的xxxx.c文件整个删除,那才真正让人抓狂。
稀饭放姜 回答时间:2017-3-3 16:05:26
本帖最后由 稀饭放姜 于 2017-3-3 16:06 编辑
wayhe 发表于 2017-1-13 08:28
在STM32F系列ADC采用DMA好像可以这样配置,STM32L051好像没法配置多通道,你可以试试,不知道是不是我的 ...

怎么可能删除用户写的程序,你写的程序要单独放到一个文件夹里的,为什么要和cubemx的代码混合呢?

CUBEMX的逻辑就是利用HAL库和中间件隔离你对底层的操作。你使用STMCU的所有资源基本上都在自带的src和inc目录里的文件操作。这些是ST提供的外设配置环境。

你要写的功能肯定都是控制逻辑和算法之类,这些肯定是单独建一个目录,这样才是松耦合。你如何配置都不会删除你额外的文件的。

网上很多公司出的HAL库的使用方法,都是标准库的思想,如果用这种思想去使用HAL库,会累死人的。
liuboqiang2588 回答时间:2018-3-20 09:42:38
Paderboy 发表于 2016-3-2 11:20
看你是开了DMA 了,你开几个ADC通道 Cube会自动配置通道的。。。无需再设置。。和F0的一样。。。

:lovelin ...

兄弟,你用过F0吗?F0是自动配置通道的?那它扫描的方式是在Scan Conversion Mode里设置的那样,Forward或者Backward吗?这意思就是我不用手动配置Rank的前后顺序了吗?
liuboqiang2588 回答时间:2018-3-20 09:52:24
lsyswh 发表于 2017-1-7 18:08
配置多通道最好使用DMA,
启动DMA同时就是启动多通道采集。你配置好工程后会自动配置通道的
HAL_ADC_Start_ ...

兄弟,你说的这个2代表两通道貌似是不是有点问题啊,我看了一下函数定义,2就是Length的实参,官方的解释原文是The length of data to be transferred from ADC peripheral to memory,貌似不是代表2通道啊
12

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版