Page 977 - 완) I MDP 프로젝트 작품 보고서(전체과 1학년)1.6
P. 977
*/
EXTI_InitTypeDef EXTI_InitStructure;
GPIO_EXTILineConfig(GPIO_PortSourceGPIOA, GPIO_PinSource0);
GPIO_EXTILineConfig(GPIO_PortSourceGPIOA, GPIO_PinSource1);
EXTI_InitStructure.EXTI_Line = EXTI_Line0;
EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;
EXTI_InitStructure.EXTI_LineCmd = ENABLE;
EXTI_Init(&EXTI_InitStructure);
EXTI_InitStructure.EXTI_Line = EXTI_Line1;
EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;
EXTI_InitStructure.EXTI_LineCmd = ENABLE;
EXTI_Init(&EXTI_InitStructure);
}
/*내부 적외선 센서가 감지가 돼었을 때(쓰레기가 들어와서 적외선 LED에 의한 적외선이 안들
어올 때) 여기 루틴에 들어오고 LED로 센싱이 됐다고 잠시 보여준다.
그리고 USART1으로 NDSocket에 센싱이 됐다고 값을 보낸다.*/
void EXTI0_IRQHandler(void){//외부 인터럽트 0
//내부 적외선 센서 INT
if(EXTI_GetITStatus(EXTI_Line0) != RESET){
/* Clear the Key Button EXTI line pending bit */
EXTI_ClearITPendingBit(EXTI_Line0);
GPIO_SetBits(GPIOC,GPIO_Pin_2);//센싱됐다고 보여줌
USART1Write((u8*)"Sensing!\n\r",sizeof("Sensing!\n\r"));//NDSocket
으로 전송
GPIO_ResetBits(GPIOC,GPIO_Pin_2);//센싱됐다는 LED초기화
}
}
/*외부 인터럽트 스위치가 눌렸을 때 여기 루틴에 들어온다.
이 인터럽트는 동작검사를 하기위한 것이다.
- 970 -