发 帖  
张飞软硬开源:基于MST32的BLDC直流无刷电机驱动器,👉戳此立抢👈
[问答] cube库中ADC的注入模式如何知道当前是哪个注入通道转换完成,从而产生了中断?
681 adc 中断
分享
       在使用ADC的注入模式时,当注入通道有多个(如3个)时,在一次注入转换完成后,中断函数里,我需要使用“HAL_ADCEx_InjectedGetValue”来获得某个通道的值,但问题是我如何知道当前是哪个注入通道转换完成,从而产生了中断?注意到“ADC_HandleTypeDef”中有一个“NbrOfCurrentConversionRank”变量,但在中断里面读取这个变量,发现其值一直都是0。
      有对这个了解的朋友,麻烦指导一下。谢谢。
0
2019-4-2 07:59:14   评论 分享淘帖 邀请回答
5个回答
2019-4-2 08:11:37 评论

举报

2019-4-2 08:25:06 评论

举报

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

举报

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

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

举报

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

我也觉得你在中断里要稍微处理下,来识别是哪个序号的J通道产生的。
2019-4-2 08:55:46 评论

举报

撰写答案

你正在撰写答案

如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。

高级模式
您需要登录后才可以回帖 登录 | 注册

我要提问
课程
    关闭

    站长推荐 上一条 /8 下一条

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