جزاك الله كل خير اخى واتمنى لك الاستفاده
|
أخي العزيز peipo
لقد قرأت الموضوع سابقا وقد وجدت بعض الصعوبة ولكن عندما عدت وقرأت الموضوع اكثر من مرة لا بل مرات وبدأت بالتطبيق العملي اصبح الأمور التي تقدمها جلية ورائعة جدا
ولكن عندي سؤال لقد قمت بقراءة أحد الأزرار بالبرنامج الذي أرفقته حضرتك وسأرفق لك الصورة وكيفية استخراجي للبروتوكل فهل ما حصلت عليه هو صحيح
وأرجو إبداء الملاحظات لأعرف الخطأ او الصواب
11111111 // 00000001
11111111 // 00000000
وإذا كان ما عملته انا صحيح فهذا هو الكود المطابق للصورة المرفقة
كود:
char x;
void main()
{
CMCON=0x07;
trisa=0xff;
portb=0;
trisb=0x00;
PWM1_Init(38000);
PWM1_Set_Duty(255);
while(1)
{
if(porta.f0==0){
PWM1_Start();delay_us(9000);PWM1_Stop();delay_us(4500);
for(x=0;x<7;x++)
{PWM1_Start();delay_us(550);PWM1_Stop();delay_us(550);}
PWM1_Start();delay_us(550);PWM1_Stop();delay_us(1650);
for(x=0;x<8;x++)
{PWM1_Start();delay_us(550);PWM1_Stop();delay_us(1650);}
for(x=0;x<8;x++)
{PWM1_Start();delay_us(550);PWM1_Stop();delay_us(550);}
for(x=0;x<8;x++)
{PWM1_Start();delay_us(550);PWM1_Stop();delay_us(1650);}
PWM1_Start();delay_us(550);PWM1_Stop();
delay_us(2500);
}
}
}
مع كل التقدير والشكر