interrupt.c

来自「Vxworks操作系统上的源码。从中可以学习:任务优先级设置、deadline、」· C语言 代码 · 共 56 行

C
56
字号
#include "semLib.h"
#include "signal.h"
#include "stdlib.h"
#include "stdio.h"   
#include "taskLib.h"   
#include "pc.h"
#include "intLib.h"
#include "iv.h"    
#include "config.h"


int pit_int_cnt = 0;
int int_vec = -1;

void connect_interrupt(void);
void pit_isr(int ivec);

void connect_interrupt(void) 
{
    STATUS sts;

    printf("RTC_INT_VEC = 0x%x\n", RTC_INT_VEC);
    printf("TIMER_INT_VEC = 0x%x\n", TIMER_INT_VEC);
    printf("PIT0_INT_VEC = 0x%x\n", PIT0_INT_VEC);

    if((sts = intConnect(INUM_TO_IVEC(RTC_INT_VEC), (VOIDFUNCPTR)pit_isr, RTC_INT_VEC)) == ERROR)
        printf("************* Int Connect Error ******************\n");
    else
        printf("************* Int Connect OK *****************************\n");


    if((sts = intConnect(INUM_TO_IVEC(TIMER_INT_VEC), (VOIDFUNCPTR)pit_isr, TIMER_INT_VEC)) == ERROR)
        printf("************* Int Connect Error ******************\n");
    else
        printf("************* Int Connect OK *****************************\n");


    if((sts = intConnect(INUM_TO_IVEC(PIT0_INT_VEC), (VOIDFUNCPTR)pit_isr, PIT0_INT_VEC)) == ERROR)
        printf("************* Int Connect Error ******************\n");
    else
        printf("************* Int Connect OK *****************************\n");

}


void pit_isr(int ivec)  
{
  pit_int_cnt++;
  int_vec = ivec;

  tickAnnounce();
 
}


⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?