أخي باختصار ساكتب لك طريقة الارسال والاستقبال ،
((المرسل ))
كود:
sbit MANTXPIN at Ra1_bit;
sbit MANTXPIN_Direction at TRISa1_bit;
هذا الكود يوضع في بداية البرنامج فيكون Ra1_bit او porta.f1 هو الطرف المسؤول عن الارسال وهذا الكود من يعطيه هذه المهمة .
بعد بداية البرنامج الرئيسي void main يوضع الكود الذي بالاعلى وهو لجعل المانشستر للارسال .
والان للارسال بهذه الطريقة
مكان الرقم 1 تستطيع وضع اي رقم الى 256 ..او متغير
فاذا اردنا ان نرسل 1 عند الضغط على الزر الموصول ب a0
كود:
sbit MANTXPIN at Ra1_bit;
sbit MANTXPIN_Direction at TRISa1_bit;
void main(){
trisa=0b00000001;
Man_Send_Init();
ams7:
if(porta.f0==1){ Man_Send(1); Delay_ms(200); }
goto ams7
}
وللاستقبال الخطوات متشابهة الى حد ما
((المستقبل))
كود:
sbit MANRXPIN at Ra0_bit;
sbit MANRXPIN_Direction at TRISa0_bit;
Ra0_bit تحديد طرف الاستقبال وهو هنا
والان بعد البرنامج الرئيسي نضع
وهي لجعل المانشستر استقبال
ثم
كود:
data = Man_Receive(error);
هذا الكود سيقوم بتخزين البانات المستقبلة الى
data
طبعا
data & error متغيرات يجب تعريفها في البداية
الان نريد البرنامج يقوم بجعل
portb=255;
اذا استقبل الرقم واحد من المرسل
واليك الكود
كود:
sbit MANRXPIN at Ra0_bit;
sbit MANRXPIN_Direction at TRISa0_bit;
char error,data;
void main(){
trisa=0b00000001;
trisb=0;
portb=0;
Man_Receive_Init();
ams:
data = Man_Receive(error);
delay_ms(200);
if(data==1){
portb=255;
delay_ms(1000);
}
goto ams
}
}
هذا باختصار طريقة الارسال والاستقبال ، طبعا انا مازلت مبتدئ اذا فادك ردي فارجو الدعاء لي ،،
احتمال يكون في اخطاء في الكود من فواصل او اقواس لاني كتبته في المنتدى مباشره وليس في برنامج
mikroc
لك تحياتي