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

   

metalljack
:: عضو ذهبي ::
تاريخ التسجيل: Mar 2008
الدولة: syria
المشاركات: 893
نشاط [ metalljack ]
قوة السمعة:
قديم 20-06-2009, 06:41 PM المشاركة 9   
افتراضي



بالنسبة للمتحكم المستقبل :
نفس الطريقة لكن تضع
if (Usart_Data_Ready()) {00000000
ثم i = Usart_Read();0000000000
الكود الأول هو عبارة عن if
اذا تحققت يضع البايت المستقبل في البايت i
ملاحظة:
يجب أن تكون سرعة الارسال والاستقبال ذاتها


اعلانات

rimawi2008
:: مهندس متواجد ::
تاريخ التسجيل: Feb 2007
المشاركات: 104
نشاط [ rimawi2008 ]
قوة السمعة:
قديم 20-06-2009, 06:43 PM المشاركة 10   
افتراضي


هل i عبارة عن رقم بالهيكسا فانا اريد ارسال 0x4a مثلا وكيف ساحدد البين الذي ستخرج منه الداتا وكيف استقبل الرقم في المستقبل وشكرا جزيلا

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

metalljack
:: عضو ذهبي ::
تاريخ التسجيل: Mar 2008
الدولة: syria
المشاركات: 893
نشاط [ metalljack ]
قوة السمعة:
قديم 20-06-2009, 06:44 PM المشاركة 11   
افتراضي


طبعا الاستقبال يجب أن يكون ضمن حلقة فحص
حتى تعرف اذا استقبل أي شيء
أم لا


metalljack
:: عضو ذهبي ::
تاريخ التسجيل: Mar 2008
الدولة: syria
المشاركات: 893
نشاط [ metalljack ]
قوة السمعة:
قديم 20-06-2009, 06:47 PM المشاركة 12   
افتراضي


ما عليك الا كتابة
i = 0x4a
أي تضع القيمة في i ثم ترسله
بالنسبة للمتحكم ما هو الذي تعمل به الآن 84 أم 628


rimawi2008
:: مهندس متواجد ::
تاريخ التسجيل: Feb 2007
المشاركات: 104
نشاط [ rimawi2008 ]
قوة السمعة:
قديم 20-06-2009, 06:54 PM المشاركة 13   
افتراضي


انه 84 واذا كان في امكانية توضيح حلقة الفحص وشكرا


metalljack
:: عضو ذهبي ::
تاريخ التسجيل: Mar 2008
الدولة: syria
المشاركات: 893
نشاط [ metalljack ]
قوة السمعة:
قديم 20-06-2009, 06:58 PM المشاركة 14   
افتراضي


هذه الأكواد لا تعمل على 84 لأنه لا يحوي بنّات ارسال واستقبال تسلسلي
بالنسبة للفحص
if (Usart_Data_Ready()) {00000000
هناك بات أظن أنه بفر قراءة وأنت تقول له اذ كان هناك مهلومات في هذا البايت افعل (أنت تضع ما تريده أن يفعل)



metalljack
:: عضو ذهبي ::
تاريخ التسجيل: Mar 2008
الدولة: syria
المشاركات: 893
نشاط [ metalljack ]
قوة السمعة:
قديم 20-06-2009, 07:01 PM المشاركة 15   
افتراضي


الحلقة :
أي يجب أن يتم الفحص بشكل دوري وبأزمان قريبة


rimawi2008
:: مهندس متواجد ::
تاريخ التسجيل: Feb 2007
المشاركات: 104
نشاط [ rimawi2008 ]
قوة السمعة:
قديم 20-06-2009, 07:06 PM المشاركة 16   
افتراضي


انا عملت توي الكود بالمايكرو سي
unsigned short i ;
void main ()
{
trisa=0;
trisb=0;
portb=0;
i= 0xff;

while(1)
{
Soft_Uart_Init(PORTB, 1, 0, 2400, 0);
Soft_Uart_Write(i);
}
}
بس هل هو صحيح لما قرات في الhelp بيقول انه بيتم تعين tx & rx من الجملة
Soft_Uart_Init(PORTB, rx, tx, 2400, 0)
هل الكود هكذا صحيح ام خاطيء مع العلم انه تم عمل compile بنجاح ؟



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