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

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

[复制链接]
wayhe 提问时间:2016-3-2 10:13 /
cube MX 新版本 V4.12.0,进入ADC设计界面后和网上看到的范例有差别,没有多通道设置了?不知道如何下手?
cube set.jpg
收藏 2 评论19 发布时间:2016-3-2 10:13

举报

19个回答
qihao74 回答时间:2016-3-2 11:08:59
void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef* AdcHandle)
{
  /* Get the converted value of regular channel */
  
  uwADCxConvertedValue = HAL_ADC_GetValue(AdcHandle);
  
  HAL_ADC_Stop_IT(&hadc);
        if(CH_dp==0)
        {
                CH_dp=1;
                ADC1->CHSELR = ADC_CHANNEL_2;
        }
        else
        {
                CH_dp=0;
                ADC1->CHSELR = ADC_CHANNEL_7;                                
        }
                        
        HAL_ADC_Start_IT(&hadc);
        
  HAL_UART_Transmit_IT(&huart1, (uint8_t*)uwADCxConvertedValue, 4);
}
稀饭放姜 回答时间: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库,会累死人的。
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库的时候多想想实现原理,你会有更多收获。
wolfgang 回答时间:2016-3-2 10:18:02
ADC的界面设置F0、F1、F3、F4 都不完全相同
看似你这个应该是F0或F1的ADC配置
wayhe 回答时间:2016-3-2 10:21:17
L0的设置界面
Paderboy 回答时间:2016-3-2 11:20:25
看你是开了DMA 了,你开几个ADC通道 Cube会自动配置通道的。。。无需再设置。。和F0的一样。。。

wayhe 回答时间:2016-3-2 17:39:14
Paderboy 发表于 2016-3-2 11:20
看你是开了DMA 了,你开几个ADC通道 Cube会自动配置通道的。。。无需再设置。。和F0的一样。。。

:lovelin ...

在哪里打开几个ADC通道?我只能看到配置几个通道的ADC输入引脚。其他不知道在哪里配置多通道,我试了实际生成的ADC初始化里只配置了最后的通道,而且没有加校准程序和用户代码区,想自己加程序每次重新生成又会清掉自己写的代码,Cube MX越用越郁闷。
wolfgang 回答时间:2016-3-2 17:50:16
wayhe 发表于 2016-3-2 17:39
在哪里打开几个ADC通道?我只能看到配置几个通道的ADC输入引脚。其他不知道在哪里配置多通道,我试了实际 ...

拷贝出来单独管理
埃斯提爱慕 回答时间:2016-3-3 20:01:12
提示: 作者被禁止或删除 内容自动屏蔽
wayhe 回答时间:2016-3-4 14:59:32
wolfgang2015 发表于 2016-3-2 17:50
拷贝出来单独管理

看来只有这个笨办法了,这样做也有很大风险,替换来替换去,最后要是最后编译的都是残缺的文件没有被发现就麻烦了。
wayhe 回答时间:2016-3-4 15:04:38
自作聪明的CUBE MX,我用的真是生不如死。就跟win8与XP系统一样,表面看起高大上,实际上是喷了香水的一坨屎。
最郁闷的是STM32L0还没标准库用。
wolfgang 回答时间: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
没有解决。
12下一页

所属标签

相似问题

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