قسم الميكروكنترولر والروبوت ودوائر الاتصال بالحاسب الالي قسم المتحكمات الـ microcontroller و المعالجات microprocessor و التحكم الرقمي بالكمبيوتر CNC والانظمة الآلية والروبوت Robots

أدوات الموضوع

abdewidad
:: مهندس متميز ::
تاريخ التسجيل: Dec 2013
الدولة: casablanca
المشاركات: 712
نشاط [ abdewidad ]
قوة السمعة:0
قديم 27-09-2014, 01:51 PM المشاركة 1   
افتراضي مشكلة مع المنفد التسلسلي Twitter FaceBook Google+



اخواني الكرام
ارجوا الحل لهده المشكلة لعدم استجابة البيك عبر المنفد التسلسلي

اعلانات

abdewidad
:: مهندس متميز ::
تاريخ التسجيل: Dec 2013
الدولة: casablanca
المشاركات: 712
نشاط [ abdewidad ]
قوة السمعة:0
قديم 27-09-2014, 01:56 PM المشاركة 2   
افتراضي


اني تبعت المخطط كما هو وكدلك غيرت موضع الخيط بين رجل2 و3 في المنفد التسلسلي ولم تنجح العملية
وغيرت max232 ومازال المشكل
لم اعرف اين المشكلة مع العلم في المحاكات تعمل جيدا
كود:
char uart_rd;

void main() {
  porta  = 0;                     // Configure AN pins as digital
  trisa = 0;

  UART1_Init(9600);               // Initialize UART module at 9600 bps
  Delay_ms(100);                  // Wait for UART module to stabilize



  while (1) {                     // Endless loop
    if (UART1_Data_Ready()) {     // If data is received,
      uart_rd = UART1_Read();     // read the received data,

     if (uart_rd==0x61)  { porta.f0=~porta.f0;delay_ms(200);}
     if (uart_rd==0x62)   {porta.f1=~porta.f1;delay_ms(200);}
     
    }
  }
}

اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )
  

abdewidad
:: مهندس متميز ::
تاريخ التسجيل: Dec 2013
الدولة: casablanca
المشاركات: 712
نشاط [ abdewidad ]
قوة السمعة:0
قديم 27-09-2014, 02:06 PM المشاركة 3   
افتراضي


الفيديو اخواني
http://www.gulfup.com/?e6nyLB


الصورة الرمزية حسن هادي محمود
حسن هادي محمود
:: عضو ذهبي ::
تاريخ التسجيل: Sep 2012
الدولة: العراق /البصره
المشاركات: 2,688
نشاط [ حسن هادي محمود ]
قوة السمعة:136
قديم 27-09-2014, 02:49 PM المشاركة 4   
افتراضي


اني تبعت المخطط كما هو وكدلك غيرت موضع الخيط بين رجل2 و3 في المنفد التسلسلي ولم تنجح العملية
وغيرت max232 ومازال المشكل
لم اعرف اين المشكلة مع العلم في المحاكات تعمل جيدا
كود:
char uart_rd;

void main() {
  porta  = 0;                     // Configure AN pins as digital
  trisa = 0;

  UART1_Init(9600);               // Initialize UART module at 9600 bps
  Delay_ms(100);                  // Wait for UART module to stabilize



  while (1) {                     // Endless loop
    if (UART1_Data_Ready()) {     // If data is received,
      uart_rd = UART1_Read();     // read the received data,

     if (uart_rd==0x61)  { porta.f0=~porta.f0;delay_ms(200);}
     if (uart_rd==0x62)   {porta.f1=~porta.f1;delay_ms(200);}
     
    }
  }
}
السلام عليكم
أضف الامر
كود:
  ;cmcon=7
اخي العزيز يفضل تفعيل الانتربت عبر البرتوكول uart للحصول على نتائج أفضل
لان مايكرو سوف يستلم البيانات 100% لانه سوف يجبر على ذلك عن طريق انتربت بينما الكود الذي كتبه رغم انه صحيح ولكن مايكرو قد يكون مشغول في تنفيذ امر ما فلايستجيب لامر الا اذا أعدت ارسال ذلك أكثر من مره طبعا في حالتك الكود ربما يعمل بشكل طبيعي يعني من ترسل له يستجيب فورا
ماأقصده اذا كان كود كبير فهنا الجوء الى انتربت امرا ضروريا
سحاول كتابه نفس الكود الذي كتبته ولكن بأستخدام انتربت
تحياتي


abdewidad
:: مهندس متميز ::
تاريخ التسجيل: Dec 2013
الدولة: casablanca
المشاركات: 712
نشاط [ abdewidad ]
قوة السمعة:0
قديم 27-09-2014, 03:00 PM المشاركة 5   
افتراضي


شكرا اخي العزيز

احصائية الشكر والاعجاب - 1 شكراً, 0 عدم اعجاب, 0 اعجاب
شكراً حسن هادي محمود ( شكر العضو على هذه المشاركة )

الصورة الرمزية حسن هادي محمود
حسن هادي محمود
:: عضو ذهبي ::
تاريخ التسجيل: Sep 2012
الدولة: العراق /البصره
المشاركات: 2,688
نشاط [ حسن هادي محمود ]
قوة السمعة:136
قديم 27-09-2014, 03:07 PM المشاركة 6   
افتراضي


تفضل هذا الكود
كود:
unsigned char recived , recived_flag=0;

// Interrupt routine
void interrupt() 
{
 recived=0;
 if(RCIF_bit==1)
     {
      recived= UART1_Read();
      if(recived=='a' || recived=='b')recived_flag=1;
     
     }
}


void main()
{
 cmcon=7;
 trisa.f0=0;
 trisa.f1=0;
 porta.f0=0;
 porta.f1=0;
  RCIE_bit = 1;                        // enable interrupt on UART1 receive
  TXIE_bit = 0;                        // disable interrupt on UART1 transmit
  PEIE_bit = 1;                        // enable peripheral interrupts
  GIE_bit = 1;                         // enable all interrupts

 UART1_Init(9600);                    // initialize UART1 module
  Delay_ms(100);

 while(1)
       {
        if(recived_flag==1)
              {
               recived_flag=0;
               if(recived=='a'){ porta.f0=~porta.f0;delay_ms(200);}
               else if(recived=='b'){porta.f1=~porta.f1;delay_ms(200);}
              
              }

       }
}
أنتبه الى تردد كرستاله في محاكاه أحيانا غير مهمه عكس ذلك في عملي
mclr هل قمت بالالغاءه يعني خليته disable ام تركته في حاله enable و لم تربط عليه شيئ


abdewidad
:: مهندس متميز ::
تاريخ التسجيل: Dec 2013
الدولة: casablanca
المشاركات: 712
نشاط [ abdewidad ]
قوة السمعة:0
قديم 27-09-2014, 04:00 PM المشاركة 7   
افتراضي


اخي العزيز
الكود لم يشتغل في المحاكات لم اجربه على ارض لواقع
بخصوص ماستر كلير فقمت بالغائها


الصورة الرمزية حسن هادي محمود
حسن هادي محمود
:: عضو ذهبي ::
تاريخ التسجيل: Sep 2012
الدولة: العراق /البصره
المشاركات: 2,688
نشاط [ حسن هادي محمود ]
قوة السمعة:136
قديم 27-09-2014, 04:31 PM المشاركة 8   
افتراضي


اخي العزيز
الكود لم يشتغل في المحاكات لم اجربه على ارض لواقع
بخصوص ماستر كلير فقمت بالغائها
أخي الكود يعمل بشكل ممتاز لاتوجد فيه أي مشكله







التعديل الأخير تم بواسطة : حسن هادي محمود بتاريخ 27-09-2014 الساعة 04:34 PM
إضافة رد

العلامات المرجعية

«     الموضوع السابق       الموضوع التالي    »
أدوات الموضوع

الانتقال السريع إلى


الساعة معتمدة بتوقيت جرينتش +3 الساعة الآن: 04:06 PM
موقع القرية الالكترونية غير مسؤول عن أي اتفاق تجاري أو تعاوني بين الأعضاء
فعلى كل شخص تحمل مسئولية نفسه إتجاه مايقوم به من بيع وشراء وإتفاق وأعطاء معلومات موقعه
التعليقات المنشورة لا تعبر عن رأي موقع القرية الالكترونية ولايتحمل الموقع أي مسؤولية قانونية حيال ذلك (ويتحمل كاتبها مسؤولية النشر)

Powered by vBulletin® Version 3.8.6, Copyright ©2000 - 2025