본문 바로가기
코스웨어/15년 스마트컨트롤러

20150729-6번-김성현-ARM7

by 알 수 없는 사용자 2015. 7. 30.
728x90
반응형













#include <interrupt.h>

void HANDLER(void)

{

   static volatile unsigned int uiIsr;

   volatile unsigned int uiCnt;

   // 인터럽트 핀 정보 저장

   if()   /* 인터럽트 핀 검색 */

   {

   }

   for(uiCnt = 0 ; 1000000 > uiCnt ; ++uiCnt);   /* 지연 */

}

void AIC_Init(void)

{

   /* P.248   */

   *AT91C_PMC_PCER   = ( 1 << AT91C_ID_PIOA );   /* 15번 pin  , PIOA 전원 공급 */

   *AT91C_PIOA_PER   = ( 1 << int_Pin );         /* 핀 활성화 */

   *AT91C_PIOA_ODR   = ( 1 << int_Pin );         /* 핀 출력 비활성화 */

   *AT91C_PIOA_IDR   = ( 1 << int_Pin );         /* 인터럽트 핀 출력 비활성화 */

   *AT91C_PIOA_IFER   = ( 1 << int_Pin );         /* PIOA 입력 필터 활성화 */

   *AT91C_AIC_IDCR   =  ( 1<< AT91C_ID_PIOA );   /* 인터럽트 핀 컴맨드 비활성화 */

   *AT91C_AIC_ICCR   =  ( 1<< AT91C_ID_PIOA );   /* 컴맨드 레지스터 클리어 */

   *AT91C_AIC_ISCR   =  ( 1<< AT91C_ID_PIOA );   /* 컴맨드 레지스터 셋 */

   AT91C_AIC_SVR[AT91C_ID_PIOA]   = (unsigned int) HANDLER();   /* 핸들러 등록 */  

   return;

}


#ifndef  _INTERRUPT_H_

#define  _INTERRUPT_H_


#define   int_Pin   15

void HANDLER(void);

void AIC_Init(void);

#endif 



#ifndef _PROJECT_H


#define _PROJECT_H



#include "AT91SAM7S256.h"


// 2008.09.10.

#ifndef __ASSEMBLY__


#include "lcd.h"

#include "interrup.h"


void default_fiq_handler();

void default_irq_handler();

void default_spurious_handler();

#endif

// 2008.09.10.

#endif  // _PROJECT_H





728x90