STM32 18个通道全部采集怎么才能做到

2019-07-21 03:20发布

1.   16个基本通道+  内部基准电压和温湿度
2. 使用DMA
3.使用HAL库
4.cubemx配置
我这里的问题是 Rank只有16个 导致我用了14个外部ADC绑定后  内部的没办法绑定

想一次性配置好那种 而不是动态切换配置

求助 在cubemx中该怎么配置啊  求配置图

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
15条回答
nashui_sx
1楼-- · 2019-07-21 21:16
Jyen 发表于 2019-4-4 09:30
你看下把  这是ADC16个通道的初始化代码   再加上内部两个通道我就不会了   或者这时候必须要去除两个IO ...

没用过hal库
Jyen
2楼-- · 2019-07-22 00:00
nashui_sx 发表于 2019-4-3 18:52
rank啥意思,随机数种子?还是通道数,扫描通道数?你设置多少就多少呀
你用16个通道adc1正好16个外部通 ...

另外 也看了你的代码  你的也就是16个通道的  并没有读内部通道
nashui_sx
3楼-- · 2019-07-22 02:54
Jyen 发表于 2019-4-4 09:32
另外 也看了你的代码  你的也就是16个通道的  并没有读内部通道

你把后俩注释了,吧注释的那俩打开不就可以了,只是给你测试下16个通道
Jyen
4楼-- · 2019-07-22 07:04
 精彩回答 2  元偷偷看……
Jyen
5楼-- · 2019-07-22 11:03
Jyen 发表于 2019-4-4 12:24
但是你这个不是DMA模式啊    我要使用DMA  就得绑定Rank啊  但是Rank只有16个

或者说  你这个dma  通道没看到你绑定   用的默认的?  默认的应该是按顺序的  但是你18个都开启  后面两个不也会被抛跳么
Jyen
6楼-- · 2019-07-22 14:11
Jyen 发表于 2019-4-4 12:28
或者说  你这个dma  通道没看到你绑定   用的默认的?  默认的应该是按顺序的  但是你18个都开启  后面两 ...

我有说错了  贴你代码说吧   你看 你的第2和3个参数  ADC_Channel_1-ADC_Channel_15   是1-16   同样你注释掉的内部通道也是绑定15和16    这就意味着你全部开启(取消注释后)你gpio上的ADC_Channel_14,ADC_Channel_14  将不会实现dma的连续转换  因为你下面的内部通道绑定把它挤出去了   我不知道我这样描述您懂了没

                        ADC_RegularChannelConfig(ADC1, ADC_Channel_14,15, ADC_SampleTime_239Cycles5 );
                  ADC_RegularChannelConfig(ADC1, ADC_Channel_15,16, ADC_SampleTime_239Cycles5 );
//                        ADC_TempSensorVrefintCmd(ENABLE); //开启内部温度传感器,参考电压通道
//                        ADC_RegularChannelConfig(ADC1, ADC_Channel_Vrefint,15, ADC_SampleTime_239Cycles5 );
//      ADC_RegularChannelConfig(ADC1, ADC_Channel_TempSensor,16, ADC_SampleTime_239Cycles5 );

一周热门 更多>