D 编程/RTAI/用户空间中断
外观
RTAI 具有称为 RTAI USI 的用户空间中断。
但是在使用它们之前,必须将硬件中断映射到 Linux 中的中断。因此,有必要为 pci 设备构建一个内核模块,该模块注册中断。通过此操作,设备将获得一个新的中断号,该号可在 usi 中使用。
创建一个实时线程
在线程中创建一个循环,如下所示
public void run(){ const int irqNum = 5; rt_request_irq_task( irqNum, null, RT_IRQ_TASK, 1 ); rt_startup_irq( irqNum ); rt_enable_irq( irqNum ); while( true ){ int overrun = rt_irq_wait( irqNum ); if( overrun == RT_IRQ_TASK_ERR ) break; // if program should quit, break here // Do the irq handling rt_ack_irq(); } rt_release_irq_task( irqNum ); }