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

2019-07-14 13:19发布

       在使用ADC的注入模式时,当注入通道有多个(如3个)时,在一次注入转换完成后,中断函数里,我需要使用“HAL_ADCEx_InjectedGetValue”来获得某个通道的值,但问题是我如何知道当前是哪个注入通道转换完成,从而产生了中断?注意到“ADC_HandleTypeDef”中有一个“NbrOfCurrentConversionRank”变量,但在中断里面读取这个变量,发现其值一直都是0。
      有对这个了解的朋友,麻烦指导一下。谢谢。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
keji730
1楼-- · 2019-07-14 20:51
再顶一下
huazhe
2楼-- · 2019-07-15 02:37
 精彩回答 2  元偷偷看……
keji730
3楼-- · 2019-07-15 04:45
huazhe 发表于 2019-4-2 09:33
什么型号?
一般来讲,一个注入通道转换对应一个数据寄存器,(ADC_JDRx)。可以根据顺序来判别。

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

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

一周热门 更多>