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

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

محمد مناع
:: مهندس متواجد ::
تاريخ التسجيل: Sep 2011
المشاركات: 57
نشاط [ محمد مناع ]
قوة السمعة:0
قديم 26-01-2012, 11:43 AM المشاركة 1   
افتراضي مساعدة فى ربط بين 2 ميكرو Twitter FaceBook Google+



السلام عليكم ورحمة الله وبركاته
انا قمت بعمل برنامج لل AVR ATMEGA 8 للارسال عن طريق UART بين 2 من نفس النوع وتم بحمد الله اختباره بعد تعب على البروتس وعمل بشكل جيد ولكن عند الاختبار عملى لم يعمل اطلاقا . فهل هناك اى ضبط لعمل UART فى العمل حيث انى وصلت الطرفين TR , RX بين المرسل والمستقبل عكس بعض ومباشرة بسلكتين فقط .على اى نوع من الميكرو.
شكرا وجزى الله خيرا من يفيدنى
واليكم الدائرة
http://upload.qariya.info/images/qariya-d5802e6d29.jpg

واليكم البرنامج الارسال ( البرنامج يعمل جيدا على البروتس بشرط ضبط التردد للميكرو بنفس تردد 4MHZ . ومن يرد الاستفادة من البرنامج فليتفضل)
program hardUARTSEND

DIM S AS BYTE
main:
DDRC=0
DDRB=255
UART1_INIT(9600)
DELAY_MS(100)
PORTB=1
WHILE TRUE
if (BUTTON(PINC,0,10,1)) then
S="1"
UART1_WRITE(S)
DELAY_MS(200)
ELSE if (BUTTON(PINC,1,10,1)) then
S="2"
UART1_WRITE(S)
DELAY_MS(200)
ELSE if (BUTTON(PINC,2,10,1)) then
S="3"
UART1_WRITE(S)
DELAY_MS(200)
ELSE
GOTO LOP

END IF
END IF
END IF
if (UART1_Tx_Idle() <> 0) THEN
GOTO LOP
END IF
LOP:
WEND

end.
وبرنامج الاستقبال هو :
program hardUARTSEND

DIM S AS BYTE
main:
DDRC=0
DDRB=255
UART1_INIT(9600)
DELAY_MS(100)
PORTB=1
WHILE TRUE
if (BUTTON(PINC,0,10,1)) then
S="1"
UART1_WRITE(S)
DELAY_MS(200)
ELSE if (BUTTON(PINC,1,10,1)) then
S="2"
UART1_WRITE(S)
DELAY_MS(200)
ELSE if (BUTTON(PINC,2,10,1)) then
S="3"
UART1_WRITE(S)
DELAY_MS(200)
ELSE
GOTO LOP

END IF
END IF
END IF
if (UART1_Tx_Idle() <> 0) THEN
GOTO LOP
END IF
LOP:
WEND

end.

اعلانات

bulldozer
:: مهندس ::
تاريخ التسجيل: Nov 2009
المشاركات: 5
نشاط [ bulldozer ]
قوة السمعة:0
قديم 27-01-2012, 10:57 AM المشاركة 2   
افتراضي


لا أرى أنك قد استخدمت الريجستر UDR في برنامجك مع أنه هو المسؤول الأول عن نفل المعلومات بين 2 مايكرو ... أيضا لابد لحصول الانتقال أن تتأكد أن البيانات في المايكرو الأولى جاهزة للارسال وان الأخرى جاهزة للاستقبال ... هناك ريجسترات مسؤولة عن ذلك ... يمكنني تزويدك ببرنامج متكامل يحل لك هذه المشكلة أن رغبت

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

aiman-sony
:: مهندس جيد ::
تاريخ التسجيل: Dec 2010
المشاركات: 283
نشاط [ aiman-sony ]
قوة السمعة:0
قديم 28-01-2012, 10:32 PM المشاركة 3   
افتراضي


اخي الكريم جرب الدارة التالية

http://www.4shared.com/rar/iRvn3gMD/___atmega8.html


محمد مناع
:: مهندس متواجد ::
تاريخ التسجيل: Sep 2011
المشاركات: 57
نشاط [ محمد مناع ]
قوة السمعة:0
قديم 30-01-2012, 05:32 PM المشاركة 4   
افتراضي


جزاكم الله خيرا لردكم عى تساؤلى
العجيب ان هذا البرنامج متشابه مع برنامج شركة ميكروبيسك الموجود فى الامثلة الواردة مع البرنامج وفى شرح HELP البرنامج لم يذكر اى REGISTER ولكن ذكر هذا الكود ( UART1_INIT(9600 وذكر انه بيضبط كل ال REGISTER
انا محتار يا اخوانى اكمل فى ال COMPILER ده ولا اغيره من الان ولو حد عنده نصيحة ببرنامج اخر ينصحنى بلغة ال C و BASIC
شكرا جزيلا


aiman-sony
:: مهندس جيد ::
تاريخ التسجيل: Dec 2010
المشاركات: 283
نشاط [ aiman-sony ]
قوة السمعة:0
قديم 30-01-2012, 09:24 PM المشاركة 5   
افتراضي


اخي الكريم ما هو البرنامج الذي تستخدمه ؟؟؟
انا استخدم code visionAVR
وهو يبرمج بلغة C

إضافة رد

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

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

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


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

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