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

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

[复制链接]
wayhe 提问时间:2016-3-2 10:13 /
阅读主题, 点击返回1楼
收藏 2 评论19 发布时间:2016-3-2 10:13
19个回答
wolfgang2015 回答时间:2016-3-5 22:26:47
wayhe 发表于 2016-3-4 14:59
看来只有这个笨办法了,这样做也有很大风险,替换来替换去,最后要是最后编译的都是残缺的文件没有被发现 ...

代码管理问题,要不用SVN或者啥的代码管理工具。这样就能找回代码了。
另外说一句,CubeMX创建的工程的确很不错,仅仅作为创建代码,要作为项目代码还得另外加管理。
czm.gold 回答时间:2016-9-9 16:37:31
你做好了吗,我也遇到这个问题
zbber 回答时间:2016-9-9 23:11:21
void HAL_ADC_ConvCpltCallback
flame123 回答时间:2017-1-5 11:56:00
楼主问题是怎么解决的,能方便给个答案吗?!
wayhe 回答时间:2017-1-6 09:56:06
没有解决。
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管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版