سلام.
توی پروتکل RC5 برای دریافت داده در گیرنده ( دستور getrc5) توی دستور getrc5 یه تاخیر 1.296ms داره. هر چی فکر کردم نتونستم متوجه این تاخیر بشم
از دوستان کسی هست بگه چرا این تاخیر؟
در حالی که باید 4.752ms باشد
توی پروتکل RC5 برای دریافت داده در گیرنده ( دستور getrc5) توی دستور getrc5 یه تاخیر 1.296ms داره. هر چی فکر کردم نتونستم متوجه این تاخیر بشم
از دوستان کسی هست بگه چرا این تاخیر؟
در حالی که باید 4.752ms باشد
کد:
void getrc5(){
unsigned char in,i;
DDRD.0=0; //Input pin for reciver
PORTD.0=1;
DDRD.1=1; //Output pin for led reciver
PORTD.1=0;
start1:
add=com=0;
IRled=0;
if (IRinput==0) goto start2; //wait for frist low pulse
goto start1;
start2:
IRled=1;
delay(215); //255-40=215 1.296ms
for(i=0; i<=6; i++){ //read frest 7bits Address
in=IRinput;
add<<=1;
add|=in;
delay(201); //255-54=201 1.728ms
}
add=add&0b00011111; //Cut off CHECK Bit
for(i=0; i<=5; i++){ //read next 6bits Command
in=IRinput;
com<<=1;
com|=in;
delay(201); //255-54=201 1.728ms
}
if(com > 63) goto start1; //Error in while Read DATA
IRled=0;
delay_ms(30); //wait for Next signal
}

