⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 default_int.c

📁 三星公司出arm7内核4510VXWORKS环境下驱动开发包
💻 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 + -