비교문에 관한 질문입니다.
내담
질문 제목 : 비교문에 관한 질문입니다.비교문에 관한 질문입니다.질문 내용 :
if(tim0_cnt = rc_time[mot_pos])
porta = 0x0;
아래 소스를 보면 이런 부분이 있는데 변수가 배열보다 크다라고 되어있는데
이부분이 어떨때 조건이 만족하는지 잘 모르겠어요 ㅠㅠ;;;;;
변수랑 배열이랑 비교하면 어떻게 되는거죠? 배열의 값과 비교하는건가요? 아니면 변수에 숫자가 3개니깐
3보다 크면 이렇게 되는건가요?
#include mega128.h
unsigned int tim0_cnt, mot_pos, change;
unsigned int rc_time[3] = {54, 132, 210};
void main(void)
{
ddra = 0xff;
tim0_cnt = 0;
mot_pos = 0;
change = 0;
timsk = 0x01;
tccr0 = 0x02;
tcnt0 = 238;
sreg = 0x80;
tim0_cnt = 0;
porta = 0xff;
while(1)
{
if(tim0_cnt = 2000)
{
tim0_cnt = 0;
porta = 0xff;
change++;
if(change == 100)
{
mot_pos = (mot_pos + 1) % 3;
change = 0;
}
}
if(tim0_cnt = rc_time[mot_pos])
porta = 0x0;
}
}
interrupt[tim0_ovf] void time(void)
{
tim0_cnt++;
tcnt0 = 238;
}
-
치킨마루
복사 붙여쓰기하니깐 잘 보이네요 ^^;; 그러니깐 배열의 값과 비교한단 말씀이시죠?
-
큰꽃늘
감사합니다 ^^ 근데 폰트가 ㅠㅠ;;; 한글을 잘 못 읽겠어요 ㅠㅠ
-
염소자리
위에 보시면 mot_pos변수를 0으로 초기화하죠?그러면 rc_time[mos_pos]라는 구문은 rc_time[0]구문으로 바뀝니다.이러면 rc_time[0]배열에있는 값과 비교를 하는거죠.배열명자체는 배열의 첫번째 요소를 가르키는 주소값이 됩니다.그리고 배열요소는 0부터 시작합니다.