STM32/STM8技术william hill官网
直播中

范云力

7年用户 201经验值
私信 关注
[问答]

cube库中ADC的注入模式如何知道当前是哪个注入通道转换完成,从而产生了中断?

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

回帖(5)

范云力

2019-4-2 08:11:37
自己顶一下
举报

范云力

2019-4-2 08:25:06
再顶一下
举报

陈炜

2019-4-2 08:33:53
什么型号?
一般来讲,一个注入通道转换对应一个数据寄存器,(ADC_JDRx)。可以根据顺序来判别。
举报

范云力

2019-4-2 08:42:41
引用: huazhe 发表于 2019-4-2 09:33
什么型号?
一般来讲,一个注入通道转换对应一个数据寄存器,(ADC_JDRx)。可以根据顺序来判别。

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

陈炜

2019-4-2 08:55:46
引用: keji730 发表于 2019-4-2 09:42
我是用F767做的测试,使用HAL_ADCEx_InjectedGetValue这个函数是可以获得相应注入通道的值,但在一次中断中,如果我不增加额外的判断,似乎不能从库提供的手段中知道是哪个通道产生的中断,也就无法知道获取哪个通道的转换值了。 ...

我也觉得你在中断里要稍微处理下,来识别是哪个序号的J通道产生的。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分