OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 1029|回复: 2

請問STM32 ADC 的Rank是代表邏輯上的甚麼意思??

[复制链接]

52

主题

75

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
249
金钱
249
注册时间
2018-10-17
在线时间
40 小时
发表于 2023-11-22 00:30:24 | 显示全部楼层 |阅读模式
1金钱
請問
STM32 adc參數裡面的一個函式
u16 Get_Adc(u8 ch)   
{
        //(ADC_TypeDef* ADCx, uint8_t ADC_Channel, uint8_t Rank, uint8_t ADC_SampleTime)
          //設置指定ADC的規則組通道,一個序列,採樣時間
          ADC_RegularChannelConfig(ADC1, ch, 1, ADC_SampleTime_239Cycles5 );        //ADC1,ADC通道,採樣時間為239.5週期                                      
         //ADC_SoftwareStartConvCmd(ADC1, ENABLE);                //使能指定的ADC1的軟件轉換啟動功能       
        while(!ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC ));//等待轉換結束
        return ADC_GetConversionValue(ADC1);        //返回最近一次ADC1規則組的轉換結果
}


請問ADC_RegularChannelConfig(ADC1, ch, Rank, ADC_SampleTime_239Cycles5 );        裡面第三個參數
Rank 他是麼意思,我看文件檔上面寫的很模糊!
文件如下
@brief  Configures for the selected ADC regular channel its corresponding
  *         rank in the sequencer and its sample time.
  * @param  ADCx: where x can be 1, 2 or 3 to select the ADC peripheral.
  * @param  ADC_Channel: the ADC channel to configure.
  *   This parameter can be one of the following values:
  *     @arg ADC_Channel_0: ADC Channel0 selected
  *     @arg ADC_Channel_1: ADC Channel1 selected
  *     @arg ADC_Channel_2: ADC Channel2 selected
  *     @arg ADC_Channel_3: ADC Channel3 selected
  *     @arg ADC_Channel_4: ADC Channel4 selected
  *     @arg ADC_Channel_5: ADC Channel5 selected
  *     @arg ADC_Channel_6: ADC Channel6 selected
  *     @arg ADC_Channel_7: ADC Channel7 selected
  *     @arg ADC_Channel_8: ADC Channel8 selected
  *     @arg ADC_Channel_9: ADC Channel9 selected
  *     @arg ADC_Channel_10: ADC Channel10 selected
  *     @arg ADC_Channel_11: ADC Channel11 selected
  *     @arg ADC_Channel_12: ADC Channel12 selected
  *     @arg ADC_Channel_13: ADC Channel13 selected
  *     @arg ADC_Channel_14: ADC Channel14 selected
  *     @arg ADC_Channel_15: ADC Channel15 selected
  *     @arg ADC_Channel_16: ADC Channel16 selected
  *     @arg ADC_Channel_17: ADC Channel17 selected
  * @param  Rank: The rank in the regular group sequencer. This parameter must be between 1 to 16.
  * @param  ADC_SampleTime: The sample time value to be set for the selected channel.
  *   This parameter can be one of the following values:
  *     @arg ADC_SampleTime_1Cycles5: Sample time equal to 1.5 cycles
  *     @arg ADC_SampleTime_7Cycles5: Sample time equal to 7.5 cycles
  *     @arg ADC_SampleTime_13Cycles5: Sample time equal to 13.5 cycles
  *     @arg ADC_SampleTime_28Cycles5: Sample time equal to 28.5 cycles       
  *     @arg ADC_SampleTime_41Cycles5: Sample time equal to 41.5 cycles       
  *     @arg ADC_SampleTime_55Cycles5: Sample time equal to 55.5 cycles       
  *     @arg ADC_SampleTime_71Cycles5: Sample time equal to 71.5 cycles       
  *     @arg ADC_SampleTime_239Cycles5: Sample time equal to 239.5 cycles       
  * @retval None

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

10

主题

3281

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8205
金钱
8205
注册时间
2020-5-11
在线时间
3700 小时
发表于 2023-11-22 09:50:12 | 显示全部楼层
本帖最后由 LcwSwust 于 2023-11-22 09:54 编辑

大概是顺序\序列\序号的意思,比如你想要触发一次转换多个通道,那就要对各通道分配一个序号.参考"扫描模式"

傲游截图20231122095351.jpg
专治疑难杂症
回复

使用道具 举报

31

主题

1951

帖子

3

精华

论坛元老

Rank: 8Rank: 8

积分
4417
金钱
4417
注册时间
2018-5-11
在线时间
922 小时
发表于 2023-11-22 19:15:03 | 显示全部楼层
本帖最后由 warship 于 2023-11-22 19:28 编辑

关于规则序列转换,ADC有三个SQR寄存器,分别是:ADC_SQR1、ADC_SQR2和ADC_SQR3
其中ADC_SQR3的0-4位(5个比特位)规定了规则序列中的第1个转换,……  25-29位规定了规则序列中的第6个转换
ADC_SQR2的0-4位规定了规则序列中的第7个转换,……25-29位规定了规则序列中的第12个转换
ADC_SQR3的0-4位规定了规则序列中的第13个转换,……15-19位规定了规则序列中的第16个转换
规则序列最大支持16个序列,它们的顺序就由上面的三个SQR寄存器来决定,你可以把最多16个通道号按照规定填入上面的16个坑。
如果你用不了16个序列,比如说只用3个,则只须填写第1个转换到第3个转换,即ADC_SQR3的0-4位、5-9位、10-14位就可以了。
在哪里告诉MCU你只用到3个呢?   ADC_SQR3的20-23位专门用于定义规则通道序列长度,
这4位的定义是:0000(只有1个转换)…1111(16个序列用满)
库函数中的RANK,就是填写上面的SQR寄存器,
某个你想要的ADC转换通道,排在第几个转换?

我的开源链接 https://github.com/ShuifaHe/STM32.git  请关注,点赞支持哦。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-23 16:26

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表