회원가입 ID/PW 찾기
AA

#include <mega128.h>
#include <delay.h>
#include <stdio.h>

#define Trigger PORTA.7
#define Echo PINE.7

unsigned int range;

//
void getEcho(void){
while(!Echo); // high가 될때까지 대기 //
TCNT1=0; TCCR1B=2; // 카운터 시작, 8분주 = 0.5us //
while(Echo); // low가 될때까지 대기 //
TCCR1B=8; // 카운터 정지 //
range=TCNT1/116; // Cm로 변경 //

}


void main(void){
DDRA=0x80; // Trigger out
DDRD=0xFF; // LED out
TCCR1A=0; TCCR1B=8; // CTC mode
while(1){
Trigger=1; delay_us(10); Trigger=0; // 10uS
getEcho();
    delay_ms(100);
}
}

/////////////////////////////////////////////////////////여기까지 1번타이머카운트써서 잘작동돼는거 확인햇어요////////////////


#include <mega128.h>
#include <delay.h>
#include <stdio.h>

#define Trigger PORTA.7
#define Echo PINE.7

unsigned int range;

//
void getEcho(void){
while(!Echo); // high가 될때까지 대기 //
TCNT3L=0; TCNT3H=0; TCCR3B=2; // 카운터 시작, 8분주 = 0.5us //
while(Echo); // low가 될때까지 대기 //
TCCR3B=8; // 카운터 정지 //
range=TCNT3L+TCNT3H*256;
range/=116;

}


void main(void){
DDRA=0x80; // Trigger out
DDRD=0xFF; // LED out
TCCR3A=0; TCCR3B=8; // CTC mode
while(1){
Trigger=1; delay_us(10); Trigger=0; // 10uS
getEcho();
    delay_ms(100);
}
}

//////////////여기까지 타이머카운트3으로 바꾼건데 


어디가 틀린건가요ㅠ 타이머카운트값 Read시에는 TCNT3L부터래서 그렇게 햇는데 다른분들에게 물어봐도


대답을 안해주시네요 타이머카운터1에서 3쓸때 연결선은 그대로지않나요?

댓글 1

하드웨어 설계 및 개발에 대하여 개발자들이 자유롭게 토론하는 공간입니다.
- Q&A, 자유주재 토론, 관련 정보 공유
- 분야 : 마이크로프로세서 응용, 전기/전자(아날로그/디지털) 회로 설계, C/C++ 프로그래밍, 펌웨어,
         PCB Artwork, 트러블슈팅 등 하드웨어 설계에 관한 전반인 내용
※ 게시글에 맞는 분류를 선택하여 글을 작성해 주시면 쾌적한 사이트 운영에 많은 도움이 됩니다.
※ 하드웨어 인사이트는 회원들간의 거래정보를 게재할 뿐이지, 그 어떤 책임과 의무도 가지지 않습니다.

search
  • 덕이 없는 아름다움은 향기 없는 꽃이다.
    - 프랑스 격언
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
  • 내 글이 추천받음 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.