#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쓸때 연결선은 그대로지않나요?