uwyciw100 发表于 2017-3-30 17:03:54

cube库中ADC使用的问题

       在使用ADC的注入模式时,当注入通道有多个(如3个)时,在一次注入转换完成后,中断函数里,我需要使用“HAL_ADCEx_InjectedGetValue”来获得某个通道的值,但问题是我如何知道当前是哪个注入通道转换完成,从而产生了中断?注意到“ADC_HandleTypeDef”中有一个“NbrOfCurrentConversionRank”变量,但在中断里面读取这个变量,发现其值一直都是0。
      有对这个了解的朋友,麻烦指导一下。谢谢。

uwyciw100 发表于 2017-3-31 09:16:55

自己顶一下

uwyciw100 发表于 2017-4-14 16:55:20

再顶一下

xmshao 发表于 2017-4-14 17:08:52

什么型号?
一般来讲,一个注入通道转换对应一个数据寄存器,(ADC_JDRx)。可以根据顺序来判别。

uwyciw100 发表于 2017-4-14 17:13:10

xmshao 发表于 2017-4-14 17:08
什么型号?
一般来讲,一个注入通道转换对应一个数据寄存器,(ADC_JDRx)。可以根据顺序来判别。 ...

我是用F767做的测试,使用HAL_ADCEx_InjectedGetValue这个函数是可以获得相应注入通道的值,但在一次中断中,如果我不增加额外的判断,似乎不能从库提供的手段中知道是哪个通道产生的中断,也就无法知道获取哪个通道的转换值了。

xmshao 发表于 2017-4-14 17:49:39

uwyciw100 发表于 2017-4-14 17:13
我是用F767做的测试,使用HAL_ADCEx_InjectedGetValue这个函数是可以获得相应注入通道的值,但在一次中断 ...

我也觉得你在中断里要稍微处理下,来识别是哪个序号的J通道产生的。
页: [1]
查看完整版本: cube库中ADC使用的问题