問(wèn)題發(fā)生的背景
某客戶(hù)使用 STM32G431 的雙 ADC 注入組同步采樣,兩個(gè) ADC 各采集兩個(gè)注入組通道,在選擇獨(dú)立模式 independent mode 時(shí)是 ok 的,但是配置為僅注入組同步模式 Dualinjected simultaneous mode only 后,只有 ADC1(主)會(huì)觸發(fā)采樣,ADC2(從)不會(huì)觸發(fā),客戶(hù)想了解背后的原因會(huì)是什么?
問(wèn)題的復(fù)現(xiàn)
基于 NUCLEO-G431RB 開(kāi)發(fā)板(版本號(hào) C04),引腳分配如下,ADC1 采集注入組通道ADC1_IN9 和 ADC1_IN1,而 ADC2 采集注入組 ADC2_IN17 和 ADC2_IN13,引腳PC10~PC12 僅用于測(cè)試驗(yàn)證的目的,通過(guò)示波器上 IO 翻轉(zhuǎn)驗(yàn)證設(shè)計(jì)初衷。
問(wèn)題的解決
通過(guò)編譯器查看 ADC1 與 ADC2 的寄存器,會(huì)發(fā)現(xiàn)是 ADC2 的中斷使能 JEOSIE 位被清除了,是哪里清除的呢?進(jìn)一步調(diào)試發(fā)現(xiàn),被底層驅(qū)動(dòng)庫(kù)。