메뉴 바로가기

서브메뉴 바로가기

본문 바로가기

logo

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

단축키

Prev이전 문서

Next다음 문서

위로 아래로 댓글로 가기 인쇄 쓰기 목록
?

단축키

Prev이전 문서

Next다음 문서

위로 아래로 댓글로 가기 인쇄 쓰기 목록
?
  • WhiteAT 2015.01.06 21:54

    앞의 글과 거의 비슷한 내용이네요.

    여기에 붙여 넣기 신공을 사용하겠습니다.^^


    =======================================================

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

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


    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
번호 분류 제목 날짜
56 프로그래밍 비밀글 입니다. 1 secret 2011.04.18
55 일반 인터넷 실행이 안되요 1 2011.04.10
54 전기,전자,펌웨어 비밀글 입니다. 4 secret 2011.04.06
53 전기,전자,펌웨어 orcad ic 질문이요 1 2011.03.29
52 일반 비밀글 입니다. 1 secret 2011.03.29
51 일반 whiteat 잘쓰고 있었는데 갑자기 안되요 1 file 2011.03.12
50 일반 [시작 프로그램]추가요청드려요 1 2011.03.06
49 전기,전자,펌웨어 마이컴으로 RS485 통신 구현하는 C프로그램 1 2011.02.08
48 일반 [프로그램 추가/삭제] 리스트 추가 요청입니다. 1 2011.02.06
47 일반 실행 질문이요 3 2011.01.28
46 전기,전자,펌웨어 baud rate 질문 드립니다.ㅜ 2 2010.12.21
45 일반 프로그램추가 1 file 2010.11.15
44 일반 여기저기 뒤지다가 1 2010.11.14
43 일반 시작프로그램질문글 삭제가 안 돼요! 1 2010.11.05
42 일반 질문이 안되요 1 file 2010.11.02
목록
Board Pagination Prev 1 ... 2 3 4 5 6 7 8 9 10 11 Next
/ 11