您好、香榭丽舍
根据 TRM、PIEACK MSUT 由 SW 清零。
然而、当0被写入 PIEIERx 寄存器时、PIEACK 似乎被自动清零。
它是 TI 规范中的正确行为。
这是 ADCINt1 ISR 的示例代码、如下所示:
中断空内在函数 Hndr_adcint1 (void)
{
易失 性 SDT_UINT16 U16_PIEIER =(SDT_UINT16) PieCtrlRegs.PIEIER1.all;
IER |= M_INT1;
IER &= MINT1;
PieCtrlRegs.PIEIER1.ALL &=(SDT_UINT16) MG11; //注:MG11=0x0000。 之后将清除 PIEACK。 *
SDC_ASM_NOP;
EINT;
intrAdc_ConvEnd ();
PieCtrlRegs.PIEACX.ALL = 0x0001;
Dint;
PieCtrlRegs.PIEIER1.ALL = U16_PIEIER;
}
此外、当 PIEIERx 寄存器禁用组中断时、PIEACK 也会被清除。
您能否检查条件是否符合预期。
感谢您的友好支持。
此致、
Hitoshi