Page 117 - MDP2020-3
P. 117
················································································ 명장양성프로젝트 【MDP】 과제발표회 자료집 Ⅲ | 111
PORTA.0 ^= 1;
}
void init_interrupt()
{
// 외부인터럽트 0, 1, 2 사용
// 0 : 스위치
// 1 : 에코 시작 감지 (상승엣지)
// 2 : 에코 끝 감지 (하강엣지)
EICRA = 0b00101110;
EIMSK = 0B00000111;
}
void test_SONIC()
{
// 1. 트리거 펄스 공급(10us)
PORTC.1 = 1;
delay_us(10);
PORTC.1 = 0;
//2. 초음파 센서에서 초음파 출력
//3. 거리 측정
//3-1 상승 엣지 감지 -- 인터럽트
//3-2 하강 엣지 감지 -- 인터럽트
}
interrupt [EXT_INT1] void echo_start() //상승 엣지 감지 -- 인터럽트
{
//카운터 시작
TIMSK = 0b00000001; //tc0 ovf interrupt : enable;
}
interrupt [EXT_INT2] void echo_finish() //하강 엣지 감지 -- 인터럽트
{
//카운터 종료
TIMSK = 0b00000000; //tc0 ovf interrupt : disable;
//distance(cm) = uS / 58(SPEC)
//printf("raw : %d, distance(cm) : %d\r cm", dist, (dist/24));