你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32G431的电机驱动代码的FOC中断触发相关问题。

[复制链接]
大熊猫猫 提问时间:2025-12-10 14:32 / 已解决

Hi,

我正在参考STM32G431的电机驱动代码,我注意到FOC的中断是在adc注入组采样结束后触发的,ADC1和ADC2都能触发那个中断,但是软件里只有”LL_ADC_ClearFlag_JEOS(ADC1);“一句清除ADC1的中断标志,那么ADC2的标志不用清除吗?

还有就是这个中断不会触发两次吗?因为ADC1的注入组采样结束中断和ADC2的注入组采样结束中断都是会触发这个中断的吧。

我参考的代码是直接从MotorControl Workbench里面下载的STM32G431代码。

收藏 评论1 发布时间:2025-12-10 14:32

举报

1个回答
fafa1 最优答案 回答时间:1 小时前

1. 关于ADC2标志清除的问题

在STM32G4的FOC实现中,通常ADC1和ADC2是同步工作 的,它们共享同一个注入组中断标志。具体来说:

  • ADC1和ADC2的注入组中断是共享的 :在STM32G4中,ADC1和ADC2属于同一个ADC集群(ADC12),它们的某些中断标志是共用的 。JEOS(注入组转换结束)标志就是其中之一。
  • 只需清除一次 :当你调用LL_ADC_ClearFlag_JEOS(ADC1)时,实际上清除的是整个ADC12集群的JEOS标志,因此不需要 再单独清除ADC2的标志。

2. 关于中断触发次数的问题

  • 不会触发两次中断 :虽然ADC1和ADC2都有各自的注入组,但在电机控制配置中,它们通常是同步触发 的(通过JEXTEN和JEXTSEL配置)。当两个ADC的注入组同时完成时,只会产生一次共享的JEOS中断
  • 硬件设计如此 :这是STM32G4的硬件特性,专门为电机控制等需要多ADC同步采样的场景设计

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版