메뉴 바로가기

서브메뉴 바로가기

본문 바로가기

logo

묻고 답하기
조회 수 3,889 추천 수 0 댓글 1
?

단축키

Prev이전 문서

Next다음 문서

위로 아래로 댓글로 가기 인쇄 쓰기 목록 수정 삭제
?

단축키

Prev이전 문서

Next다음 문서

위로 아래로 댓글로 가기 인쇄 쓰기 목록 수정 삭제
?
  • WhiteAT 2015.01.06 21:53

    올려 주신 코드는 폴링 방식으로 펄스를 체크하는 방식입니다.

    이런 방식은 정확한 시간을 측정하기 어렵습니다.


    INT0, INT1 을 사용하신거 같은데 상승 에지를 디텍트 하려면


    기본 레지스터를 설정하고

    MCUCR = 0x0F; // INT0, INT1 상승에지 사용

    GICR = 0xC0    ; // INT0, INT1 인터럽트 사용

    _SEI();        // 전체 인터럽트 인에이블

    while(1) {}       // 무한 루프 



     

    인터럽트 루틴을 따로 처리하면 됩니다.

    int starttime=0;

    int endtime=0;

        // INT0 걸리면

      ISR(INT0_vect)

      {

       // INT0 처리

        starttime =  TCNT0;

      }

     

       // INT1 걸리면

      ISR(INT1_vect)

      {

       // INT1 처리

        endtime =  TCNT0;

      }



    시간 차 구하기

    시간차 = (endtime - starttime)/ 스케일값   ; 입니다.

    (이 값은 클럭 속도와 DIV 값에 따라 달라지므로 스케일값을 구해서 계산하시면 됩니다.)


List of Articles
번호 분류 제목 날짜
116 전기,전자,펌웨어 baud rate 질문 드립니다.ㅜ 2 2010.12.21
115 일반 실행 질문이요 3 2011.01.28
114 일반 [프로그램 추가/삭제] 리스트 추가 요청입니다. 1 2011.02.06
113 전기,전자,펌웨어 마이컴으로 RS485 통신 구현하는 C프로그램 1 2011.02.08
112 일반 [시작 프로그램]추가요청드려요 1 2011.03.06
111 일반 whiteat 잘쓰고 있었는데 갑자기 안되요 1 file 2011.03.12
110 일반 비밀글 입니다. 1 secret 2011.03.29
109 전기,전자,펌웨어 orcad ic 질문이요 1 2011.03.29
108 전기,전자,펌웨어 비밀글 입니다. 4 secret 2011.04.06
107 일반 인터넷 실행이 안되요 1 2011.04.10
106 프로그래밍 비밀글 입니다. 1 secret 2011.04.18
105 프로그래밍 비밀글 입니다. 1 secret 2011.05.11
104 전기,전자,펌웨어 비밀글 입니다. 3 secret 2011.05.14
103 프로그래밍 MFC 테트리스 만드는것 질문 11 2011.05.15
102 전기,전자,펌웨어 AVR를 이용한 센서값을 LCD와 터미털프로그램에 값 전송하기 3 2011.05.15
목록
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 Next
/ 11