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

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

mtm4song
:: مهندس متميز ::
تاريخ التسجيل: Jun 2009
المشاركات: 635
نشاط [ mtm4song ]
قوة السمعة:0
قديم 08-05-2013, 04:14 AM المشاركة 1   
افتراضي مساعدة في كود غير سليم Twitter FaceBook Google+



الفكرة هي ريط الميكروكنترول بل الفيجوال بيزك عن طريق السيريال بورت
------
عند الضغط على الزر لابد ان تضيي الليد الاولي الموصلة مع البورت b فقط rb0
-----
المشكلة
انو الثلاث ليدات الاولي يعملو وليس الليد الاولي فقط !
------
صورة لتوضيح بعد الضغط على الزر

------
كود الميكرو سي
كود:
unsigned short value ;
void main() {
TRISB=0X00;
PORTB=0X00;
UART1_Init(19200);     // Initialize USART module
                                  // (8 bit, 19200 baud rate, no parity bit…)
while (1) {
       if (UART1_Data_Ready()) {  // If data has been received
   value = UART1_Read();     // read it
    PORTB=value;
}// end if
          }//end while
}//end main
------------
كود الفيجوال


كود:
Private Sub SysInfo1_ConfigChangeCancelled()

End Sub

Private Sub Command1_Click()
MSComm1.Output = 1
End Sub

Private Sub Command2_Click()
MSComm1.Output = 0
End Sub

Private Sub Form_Load()
MSComm1.CommPort = 2
MSComm1.Settings = "19200,n,8,1"
MSComm1.PortOpen = True
End Sub

اعلانات

Mohammedalharbi
:: مهندس متواجد ::
تاريخ التسجيل: Dec 2012
المشاركات: 58
نشاط [ Mohammedalharbi ]
قوة السمعة:0
قديم 08-05-2013, 04:48 AM المشاركة 2   
افتراضي


السلام عليكم
اخي جرب تغير نوع المتغيير unsigned short value الى unsigned char value
لان unsigned short عبارة عن 2 بايت .. بينما مخرج بورت b يحتوي على 1 بايت(8 بت)

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

mtm4song
:: مهندس متميز ::
تاريخ التسجيل: Jun 2009
المشاركات: 635
نشاط [ mtm4song ]
قوة السمعة:0
قديم 09-05-2013, 01:27 AM المشاركة 3   
افتراضي


السلام عليكم
اخي جرب تغير نوع المتغيير unsigned short value الى unsigned char value
لان unsigned short عبارة عن 2 بايت .. بينما مخرج بورت b يحتوي على 1 بايت(8 بت)
غيرتو برضو ما اشتغلش؟


Mohammedalharbi
:: مهندس متواجد ::
تاريخ التسجيل: Dec 2012
المشاركات: 58
نشاط [ Mohammedalharbi ]
قوة السمعة:0
قديم 09-05-2013, 07:58 PM المشاركة 4   
افتراضي


طيب اخي ممكن تقولي ايش الرقم الي يظهر على بورت b عند ارسال رقم واحد من الفيجول بيسك؟ يعني فرضا عند ارسال رقم واحد او ضغط زر التشغيل في الفيجول بيسك..بورت b يخرج مثلاً 0b00110011
لانه اتوفع البيانات المستلمه معتمدة على ال ASCII table ولابد تحويلها الى اعداد عشرية


mtm4song
:: مهندس متميز ::
تاريخ التسجيل: Jun 2009
المشاركات: 635
نشاط [ mtm4song ]
قوة السمعة:0
قديم 10-05-2013, 01:31 AM المشاركة 5   
افتراضي


طيب اخي ممكن تقولي ايش الرقم الي يظهر على بورت b عند ارسال رقم واحد من الفيجول بيسك؟ يعني فرضا عند ارسال رقم واحد او ضغط زر التشغيل في الفيجول بيسك..بورت b يخرج مثلاً 0b00110011
لانه اتوفع البيانات المستلمه معتمدة على ال ASCII table ولابد تحويلها الى اعداد عشرية
عند الضغط على تشغيل
الكود الى بيظهر على البورت
كود:
0b00000111
وعند الضغط على زر ايقاف

كود:
0b00000110


Mohammedalharbi
:: مهندس متواجد ::
تاريخ التسجيل: Dec 2012
المشاركات: 58
نشاط [ Mohammedalharbi ]
قوة السمعة:0
قديم 10-05-2013, 07:34 AM المشاركة 6   
افتراضي


كود المايكروكنترولر صحيح.. المشكله والله واعلم في كود الفيجول بيسك.. والارقام الي ترسل من الفيجول بيسك غير صحيحة. للاسف ليس لدي خلفيه عن كود فيجول بيسك..بس عملت بحث ووجدت اغلب الاكواد تعتمد على طريقة كتابة معينه في ارسال رقم..مثلاُ

(MSComm1.Output = Chr$(1
او
MSComm1.Output = "1"

جربها ان شاءالله تنفع معاك..
اذا كان بورت بي = 0b00110001 او 0b00000001
عند ضغط زر التشغيل,نكون حلينا المشكلة. غير كذا للاسف لا اعلم اين الخطا..


mtm4song
:: مهندس متميز ::
تاريخ التسجيل: Jun 2009
المشاركات: 635
نشاط [ mtm4song ]
قوة السمعة:0
قديم 11-05-2013, 03:40 AM المشاركة 7   
افتراضي


يعني ما فيش امل؟


Mohammedalharbi
:: مهندس متواجد ::
تاريخ التسجيل: Dec 2012
المشاركات: 58
نشاط [ Mohammedalharbi ]
قوة السمعة:0
قديم 11-05-2013, 05:19 AM المشاركة 8   
افتراضي


ان شاءالله احد الاخوان يقدر يفيدك .

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


إضافة رد

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

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

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


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

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