Em có đoạn code: mã hóa và giải mã như thế này. ( nhưng em ko hiểu phần giải mã lắm)
Vì xung truyền đi là 6ms, làm sao nó nhận đúng dc nhỉ?
Mã hóa:
void M_Pulse_Finish() // Truyen bit 1 co toc do 6ms de ket thuc khung truyen
{
M_Data_Out=1;
delay_ms(3);
M_Data_Out=0;
delay_ms(3);
}
Giải Mã
unsigned char M_Get_Pulsefinish()
{
unsigned int i;
while(!Man_Data_In);
while(Man_Data_In);
for(i=0;;i++)
{
delay_us(200);
if(!Man_Data_In) break;
}
if(i<13) return 0;
else if(i>15) return 0;
else return 1;
}
Vì xung truyền đi là 6ms, làm sao nó nhận đúng dc nhỉ?
Mã hóa:
void M_Pulse_Finish() // Truyen bit 1 co toc do 6ms de ket thuc khung truyen
{
M_Data_Out=1;
delay_ms(3);
M_Data_Out=0;
delay_ms(3);
}
Giải Mã
unsigned char M_Get_Pulsefinish()
{
unsigned int i;
while(!Man_Data_In);
while(Man_Data_In);
for(i=0;;i++)
{
delay_us(200);
if(!Man_Data_In) break;
}
if(i<13) return 0;
else if(i>15) return 0;
else return 1;
}
Comment