工具/软件:
尊敬的 TI 专家:
我以特定的频率(例如 1ms)触发 ADC 中断。 有时、执行 ISR 所需的时间会超过 1ms。 在这种情况下、我看到计划在 1ms 触发的下一个中断会丢失、直到 ISR 完成其执行。
您能否建议如何配置中断、以便即使前一个 ISR 溢出、也不会错过 1ms 安排的 ADC 中断? 我希望实现这样的用例:ADC 中断每 1ms 触发一次、如果 ISR 超限、则执行会在执行新触发的中断后恢复为运行超限 ISR。
当前实施详细信息:
HwiP_Params_init (&hwiPrms);
hwiPrms.intNum = CSLR_R5FSS0_CORE0_CONTROLSS_INTRXBAR0_OUT_1;
hwiPrms.callback = Sys_Adc_Isr;
hwiPrms.priority = 8;
hwiPrms.isPulse = true;
hwiPrms.isFIQ = 0;
(void) Hwip_construct (&HwiObject、&hwiPrms);
ADC_clearInterruptStatus (ADC2_BASE_ADDR、ADC_INT_number1);
void Sys_Adc_Isr(void *手柄)
{
ADC_clearInterruptStatus (ADC2_BASE_ADDR、ADC_INT_number1);
//此处为 ISR 逻辑
返回;
}
我从 TCM 存储器运行 ISR。 这是当前系统中唯一触发的 ISR、因此我想优先级为 8 应该无关紧要。
期待您的意见。 谢谢!
