嵌入式开发者社区

标题: sysbios例程组合中断设置方式请教 [打印本页]

作者: bjx1234    时间: 2017-2-22 14:54
标题: sysbios例程组合中断设置方式请教
我使用TL6748开发板调试UART中断。
在我的基于sysbios的程序里设置HWI中断,原来用代码创建硬件中断实现,
void HWIInit(void)
{
    // 动态创建硬件中断
    Hwi_Params hwiParams;

    Hwi_Params_init(&hwiParams);
    hwiParams.eventId = SYS_INT_UART1_INT;
    hwiParams.enableInt = true;

    Hwi_create(C674X_MASK_INT6, UART1Isr, &hwiParams, NULL);
}

中断响应正常。

由于中断数量比较多,不可屏蔽中断号不够用,于是我仿照光盘V2.6里sysbios下的Board例程我改成下面,

void HwiInit(void)
{
    Hwi_Params hwiParams;
    Hwi_Params_init(&hwiParams);
   /* UART1 */

    EventCombiner_dispatchPlug(SYS_INT_UART1_INT, &UART1Isr, 1, TRUE);
    UART1InterruptInit();
}

改好了之后,
UART1不进入中断服务函数。与board对比没有发现在什么不同之处。
请问这是怎么回事?或者说应怎么改,还有什么注意事项?



作者: human    时间: 2017-2-23 08:51
因为是组合中断,还要判断产生的是哪个中断,才能去做相应的中断服务
作者: bjx1234    时间: 2017-2-24 00:22
human 发表于 2017-2-23 08:51
因为是组合中断,还要判断产生的是哪个中断,才能去做相应的中断服务


因为是组合中断,还要判断产生的是哪个中断,才能去做相应的中断服务

这个判断,代码上怎么实现的?
或者说我提出的问题应该怎么改?
作者: xiaoluoshan    时间: 2018-7-5 11:20
代码上怎么实现的?




欢迎光临 嵌入式开发者社区 (https://www.51ele.net/) Powered by Discuz! X3.4