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

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

almoflehy
:: مهندس جيد ::
تاريخ التسجيل: Apr 2007
الدولة: YEMEN
المشاركات: 252
نشاط [ almoflehy ]
قوة السمعة:0
قديم 28-10-2010, 09:25 AM المشاركة 1   
افتراضي ارجو المساعدة في كيفية ارسال رقم متغير من بيك الى بيك اخر Twitter FaceBook Google+



السلام عليكم ورحمة الله وبركاته
اساتذتي واخواني في القرية
اريد ان ارسل رقم وليكن مثلا 200 او 350 او..... الرقم متغير يعني قيمته تتغير بشروط محددة
المهم اني اريد ان ارسله من بيك الى بيك اخر واريد كيفية ارساله
هل استخدم Serial Communication RS232 او ان هناك طريقة افضل
من وجد عنده الحل ارجو ان يتكرم بوضع برنامج توضيحي لكي تعم الفائدة للجميع ويا حبذا لو كان في لغة الميكروسي وله جزيل الشكر والتقدير.

ودمتم في رعاية الله وحفظه.

اعلانات

robota
:: عضو ذهبي ::
تاريخ التسجيل: Jul 2009
الدولة: الخرطوم_السودان
المشاركات: 926
نشاط [ robota ]
قوة السمعة:102
قديم 28-10-2010, 09:33 AM المشاركة 2   
افتراضي


السلام عليكم ورحمة الله وبركاته
اساتذتي واخواني في القرية
اريد ان ارسل رقم وليكن مثلا 200 او 350 او..... الرقم متغير يعني قيمته تتغير بشروط محددة
المهم اني اريد ان ارسله من بيك الى بيك اخر واريد كيفية ارساله
هل استخدم Serial Communication RS232 او ان هناك طريقة افضل
من وجد عنده الحل ارجو ان يتكرم بوضع برنامج توضيحي لكي تعم الفائدة للجميع ويا حبذا لو كان في لغة الميكروسي وله جزيل الشكر والتقدير.

ودمتم في رعاية الله وحفظه.
نعم اخى يمكن باستخدام ال Serial Communication RS232 وقد استخدمته من قبل.
انت ابدا بكتابة الكود وفى حال واجهتك اى مشكلة فلا تترد بالاستفسار.
بالتوفيق

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

almoflehy
:: مهندس جيد ::
تاريخ التسجيل: Apr 2007
الدولة: YEMEN
المشاركات: 252
نشاط [ almoflehy ]
قوة السمعة:0
قديم 28-10-2010, 09:48 AM المشاركة 3   
افتراضي


نعم اخى يمكن باستخدام ال Serial Communication RS232 وقد استخدمته من قبل.
انت ابدا بكتابة الكود وفى حال واجهتك اى مشكلة فلا تترد بالاستفسار.
بالتوفيق
شكرا لك اخي robota على سرعة ردك
ان شاء الله ابدا بكتابة الكود باستخدام Serial Communication RS232 واطلعك على التطورات
ولكن اذا كانت هناك طريقة اخرى فالافضل طرحها لزيادة الفائدة والمعلومات ولتكون هناك حلول عدة وكل واحد يختار الافضل لمشروعه.
وجزاك الله خير.


almoflehy
:: مهندس جيد ::
تاريخ التسجيل: Apr 2007
الدولة: YEMEN
المشاركات: 252
نشاط [ almoflehy ]
قوة السمعة:0
قديم 29-10-2010, 06:27 PM المشاركة 4   
افتراضي مشكلة


السلام عليكم
ارجو مساعدتي في حل هذه المشكلة
لقد قمت بعمل برنامج صغير يقوم بارسال رقم من 0 الى 9 ثم يقوم المستقبل بارسال ما تم استقباله لكي اتأكد ان المستقبل قد استقبل ما تم ارساله، وكان الارسال تمام ولكن المستقبل لا يستقبل ما تم ارساله وكان يضهر رمز غريب كما بالصوره

الذي بالاعلى ما تم ارساله والذي بالاسفل ما تم استقباله




وهذا كود الارسال
كود:
char x=48;
void main()
{ TRISD=0xff;
  Usart_Init(9600);delay_ms(100);
  while(1)
  {
  if(PORTD.F1==0)
  {while(PORTD.F1==0){}
   x=x+1;
  }
  if(PORTD.F0==0)
  {while(PORTD.F0==0){}
   Usart_Write(x);
  }
  }
}
وهذا كود المستقبل
كود:
char k;
void main() {
    Usart_Init(9600);delay_ms(100);
      while(1)
      {  if(Usart_Data_Ready())
         {k=Usart_Read();
         Usart_Write(k); }
      }
}
وهذه ملفات البرنامج مع البروتس

http://www.4shared.com/file/5NENxa-_/TxRx.html

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


الصورة الرمزية SAMI-ALG
SAMI-ALG
:: مهندس جيد ::
تاريخ التسجيل: Jul 2009
الدولة: الجزائر
المشاركات: 199
نشاط [ SAMI-ALG ]
قوة السمعة:0
قديم 29-10-2010, 07:32 PM المشاركة 5   
افتراضي


السلام عليكم ورحمة الله وبركاته

جربت البرنامج الذي رفعته ولم تظهر اي مشكلة

اليك الصورة



الشيء الوحيد الذي غيرته كان فقط قيمة الكوارتز في المرسل من 1 ميغا الى 8 ميغا


almoflehy
:: مهندس جيد ::
تاريخ التسجيل: Apr 2007
الدولة: YEMEN
المشاركات: 252
نشاط [ almoflehy ]
قوة السمعة:0
قديم 29-10-2010, 07:42 PM المشاركة 6   
افتراضي


شكرا لك اخي SAMI-ALG
بالفعل فقد كانت المشكلة في قيمة الكوارتز
فقد نسيت ان اجعلها 8 ميغا
وعندما غيرتها اشتغل البرنامج بدون مشاكل
شكرا لك وجزاك الله خير


الصورة الرمزية SAMI-ALG
SAMI-ALG
:: مهندس جيد ::
تاريخ التسجيل: Jul 2009
الدولة: الجزائر
المشاركات: 199
نشاط [ SAMI-ALG ]
قوة السمعة:0
قديم 29-10-2010, 07:53 PM المشاركة 7   
افتراضي


العفو اخي الكريم

اللهم امين واياكم


almoflehy
:: مهندس جيد ::
تاريخ التسجيل: Apr 2007
الدولة: YEMEN
المشاركات: 252
نشاط [ almoflehy ]
قوة السمعة:0
قديم 29-10-2010, 11:38 PM المشاركة 8   
افتراضي مشكلة اخرى


السلام عليكم
لقد قمت بتعديل البرنامج لكي ارسل عدد مكون من خمسة ارقام (مثلا 29401 او 00027 او..) وقد قمت بفصل الاحاد عن العشرات عن المئات عن.... لكي استطيع ارسال الرقم باستخدام الامر UART1_Write لانني لا استطيع ارسال اكثر من رقم في آن واحد باستخدام هذا الامر.
المشكلة كانت في المستقبل فقد كان يستقبل اكثر من خمسة ارقام(يقوم بتكرار بعض الارقام) كما بالصورة



وهذا كود الارسال
كود:
unsigned x=0;
unsigned y;
unsigned k;
int n;
void main()
{ TRISD=0xff;
  UART1_Init(9600);delay_ms(100);
  while(1)
  {
  if(PORTD.F1==0)
    { while(PORTD.F1==0){}
      x=x+9;
    }
  if(PORTD.F0==0)
   { while(PORTD.F0==0){}
    k=x;
    UART1_Write(13);
    UART1_Write(10);
    for(n=4;n>=0;n--)
    { y=k/pow(10,n);
      UART1_Write(48+y);
      k=k-(y*pow(10,n));
      if(n==0)break;
    }
   }
  }
}
وهذا كود المستقبل
كود:
void main() {
      unsigned x=0;
      int n;
      char k;
      UART1_Init(9600);delay_ms(100);
      while(1)
      {
       if(UART1_Data_Ready()==1)
       { for(n=4;n>=0;n--)
         {k=UART1_Read();
         UART1_Write(k);
         x=x+((k-48)*pow(10,n));
         if(n==0)break;}
       }
      }
}
ملاحظة: البرنامج مكتوب ببرنامج MicroC Pic Pro
الامر UART1 يعادله الامر Usart في الـ MicroC والباقي كما هو.

وهذه ملفات البرنامج مع البروتس
http://www.4shared.com/file/Pmw3h0X7/TxRx11.html

عفوا على كثرة اسألتي فليس لي الا هذا المنتدى الزاخر بالخبراء والاساتذة
في انتظار حلولكم
وجزاكم الله خير وصبركم علي

إضافة رد

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

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

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


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

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