본문 바로가기
코스웨어/12년 내장형하드웨어

오늘한 ARM------> 이동혁

by 알 수 없는 사용자 2012. 7. 23.
728x90
반응형


ARM.h 파일


//AIC.h 파일


#ifndef __AIC_H__
#define __AIC_H__

void INIT_AIC();
#define  IRQ_PIN    15 //15번 핀
void AIC_IRQ_LED();





#endif //__AIC_H__




//AIC.c 파일

#include "arm.h"
#include "AIC.h"
#include "LED.h"

void INIT_AIC()
{

  PMC_PCER = 1<<PIO; //PMC를통해 PIOA활성화

  
  PIO_ODR=1<<IRQ_PIN; //해당핀의 출력을 비활성화
  PIO_PER=1<<IRQ_PIN; //AIC 활성화
  PIO_IDR=1<<IRQ_PIN; //
  //AIC seting//
  AIC_IDCR=1<<PIO; //
  AIC_SVR2=(unsigned int)AIC_IRQ_LED;
  AIC_SMR2=(0<<PRIOR)|(1<<SRCTYPE); //상승엣지 Low Level 0
  AIC_ICCR=1<<PIO;
  PIO_IFER=1<<IRQ_PIN;
  AIC_ISCR=1<<PIO;
  PIO_IER=1<<IRQ_PIN;
  AIC_IECR=1<<PIO;
  
  
  
  return;
}

void AIC_IRQ_LED()
{
  volatile unsigned int icnt;
  if ((1<<IRQ_PIN)==PIO_ISR)
  {
    LED_TOGGLE();
  }
  
  for (icnt = 0; icnt<100000; ++icnt);
  
  AIC_EOICR=0;
  return ;
}

LED.c파일


LED.h파일






main.c 파일




728x90