你好
我用的RT1176,在demo中(SDK_2_15_000_MIMXRT1170-EVKB\boards\evkbmimxrt1170\driver_examples\lpuart\edma_transfer),
1:增加代码开启空闲中断
LPUART_EnableInterrupts(DEMO_LPUART, kLPUART_IdleLineInterruptEnable);
EnableIRQ(LPUART1_IRQn);:
2:定义中断服务函数
void LPUART1_IRQHandler(void)
{
uint8_t data;
/* If new data arrived. */
if ((kLPUART_RxDataRegFullFlag)&LPUART_GetStatusFlags(DEMO_LPUART))
{
data = LPUART_ReadByte(DEMO_LPUART);
}
SDK_ISR_EXIT_BARRIER;
}
仅改这两项后 程序连续的进入中断,导致其他程序无法执行,请问有遇到过这种问题吗,连续进入中断的原因是什么,要怎么处理
Hi @1586787823 ,
感谢联系NXP技术支持团队!
请问下这里为什么是开启空闲中断?如果是这样的话一直空闲当然就一直中断了...不好意思我没理解这里的逻辑。
但是你后面的if判断又是满,猜测你应该是想配置接收数据满中断?这样的话应该是:
LPUART_EnableInterrupts(DEMO_LPUART, kLPUART_RxDataRegFullInterruptEnable);
Best regards,
Gavin