📄 default_int.c
字号:
//test interrupt
#include "vxworks.h"
#include <stdio.h>
#include "ioLib.h"
#include "intLib.h"
#include "logLib.h"
#include "taskLib.h"
#include "arch/arm/ivArm.h"
#define IVEC_TO_INUM1(intVec) ((int) (intVec))
#define INUM_TO_IVEC1(intNum) ((VOIDFUNCPTR *) (intNum))
#define INTERRUPT1 IVEC_TO_INUM(0)
#define INTERRUPT2 IVEC_TO_INUM(1)
#define INTERRUPT3 IVEC_TO_INUM(2)
#define INTERRUPT4 IVEC_TO_INUM(3)
#define INTERRUPTLEVEL 0
#define OUT_ADR 0xff00
#define COUNT 50
#define TIME 2000000
typedef struct
{
UINT vector1;
UINT intLevel1;
} OUT_INT;
LOCAL OUT_INT out[] =
{
{INTERRUPT1,/* OUT_ADR,*/ INTERRUPTLEVEL},
{INTERRUPT2,/* OUT_ADR,*/ INTERRUPTLEVEL}
};
//define int function
void intFunc1(int i);
void testint(void);
int ii; //
int c; //sem
void intFunc1(int arg)//int function
{
int i = arg;
ii = COUNT;
printf("int function using");
logMsg("int function using\n",0,0,0,0,0,0);//show msg
}
void testint(void)//main
{
int i,j;
STATUS s;
if((s=intConnect(INUM_TO_IVEC(out[0].vector1),
(VOIDFUNCPTR)intFunc1,NULL/*(int) &out[0]*/))==ERROR) ///link int function to int number
{
printf("error to link int function");
}
else if(s==OK)
{
printf("s%d\n");
intEnable (out[0].intLevel1);
printf("int link ok\n");
for(ii=0; ii<COUNT; ii++)
{
//for(j=0; j<TIME; j++);//time delay
taskDelay(50); //time delay
//printf("runing%d\n", c);
logMsg("function runing\n",0,0,0,0,0,0);
}
}
printf("Program Exit\n");
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -