پاسخ : کمک کنید نمی تونم HMt و HMR رو راه بندازم
سلام
در مورد فرستنده باید تعدادی دیتا برای اینکه فرستنده بیدار شه بفرستیم
(مقدار 0x55 و تعداش با ازمون خطا بدست می اید برای بار اول مقدار بالایی مثل 100 عدد قرار دهید)
در مرحله بعد باید دیتای سنکرون سازی و بفرستیم
(مقدار 0Xaa و تعداد کم مثلا سه عدد)
بلافاصله بعد از این مراحل دیتای اصلی رو میفرستیم
کد برناه در کد ویژن
void send (char data){
for(i=0;i<160;i++){ putchar(0x55); }
for(i=0;i<3;i++){ putchar(0xaa); }
putchar(data);
}
///////////////////////////////////////////////////////////////////////////////////////
در گیرنه منتظر دیتای 0xaa می مانیم وسپس یتا را بر می داریم
کد برناه در کد ویژن
char recieve(void){
char rec;
while(!((getchar())&& (getchar()==170)));
for(i=0;i<3;i++) data[i]=getchar();
if(data[0]==170) {
if(data[1]==170) rec=data[2];
else rec=data[1];
}
else rec=data[0];
return rec;
}
سلام
در مورد فرستنده باید تعدادی دیتا برای اینکه فرستنده بیدار شه بفرستیم
(مقدار 0x55 و تعداش با ازمون خطا بدست می اید برای بار اول مقدار بالایی مثل 100 عدد قرار دهید)
در مرحله بعد باید دیتای سنکرون سازی و بفرستیم
(مقدار 0Xaa و تعداد کم مثلا سه عدد)
بلافاصله بعد از این مراحل دیتای اصلی رو میفرستیم
کد برناه در کد ویژن
void send (char data){
for(i=0;i<160;i++){ putchar(0x55); }
for(i=0;i<3;i++){ putchar(0xaa); }
putchar(data);
}
///////////////////////////////////////////////////////////////////////////////////////
در گیرنه منتظر دیتای 0xaa می مانیم وسپس یتا را بر می داریم
کد برناه در کد ویژن
char recieve(void){
char rec;
while(!((getchar())&& (getchar()==170)));
for(i=0;i<3;i++) data[i]=getchar();
if(data[0]==170) {
if(data[1]==170) rec=data[2];
else rec=data[1];
}
else rec=data[0];
return rec;
}




دیدگاه