技术咨询 我要提问

1553B 板卡中断使用问题。什么时候用中断?硬件中断和软件中断的区别?

1553B 板卡中断分为硬件中断和软件中断。USB 1553B板卡仅支持软件查询中断队列,不支持硬件中断方式。

1)       BC的每个msgbuffer上都可以设置中断,将CORE_BC_MSG_BUFFER 的int_enable设置为0x00010000。常用的是BC在接收数据的msgbuffer上设置中断,及时将RT发送过来的数据读走。

2)       RT的每个msgbuffer上都可以设置中断,将CORE_CORE_RT_SA_BUFFER的int_enable设置为0x00010000。常用的是RT端在接收的msgbuffer上设置中断,及时将收到的数据读走。

3)       BM支持中断但是不建议用中断方式。BM最好是采用软件定时查询的方式获取新的数据。

上述的1),2),3)是软件中断的设置方式。硬件中断设置时除了设置int_enable之外还要调用硬件服务程序注册函数SetInterruptHandler和中断使能的函数CORE_INT_Enable_HW_Interrupt。具体的可以参照光盘中提供的例程。

1)       example_bc_hwint.c(CAV-1553-USB不支持):主要演示 BC 的硬件中断处理操作。

2)       example_bc1_int_poll.c: Example_bc1.c的扩展,每个BC消息块设置多个数据缓冲区,并且使用软件查询的方式。

3)       example_core_bc_rt_bm.c:主要演示了BC、RT、BM同时运行,BC、RT、BM均演示了软件中断的设置方式。


2021-10-23

管理员   回答2021-10-23