DIGTAL كتب :السلام عليكم
طلب من الاخوة المحترفين وهو عمل مثال بسيط
على استقبال بيانات من منفذ السيريال
rs232
يا ريت شرح الكود
السلام عليكم ورحمة الله وبركته
اخي الكريم استعمل vb.net واليك طريقة الاتصال :
1- افتح مشروع جديد في VB.net واختر نافذة جديدة Form1
2- نعمل import بالصيغة التالية :
Import System . Runtime .InteropServices
3- نعمل نافذة model جديدة ونكتب فيها الكود التالي – انتبه اذا لا تعرف معنى الشارحة الموجدة في الكود فمن الافضل قم بعملية النسخ :
Public Declare Function Inp Lib "inpout32.dll" _
Alias "Inp32" (ByVal PortAddress As Integer) As Integer
Public Declare Sub Out Lib "inpout32.dll" _
Alias "Out32" (ByVal PortAddress As Integer, ByVal Value As Integer)
4- في النافذة Form1 اختر اداة امر Button عدد اثنان
5- ايضاً في نفس النافذة اختر اداة عرض Text Box عدد اثنان
6- نختار اداة Serial port واحدة ونضعها على النافذة Form1 ستظهر اسفل النافذة
7- لأرسال البيانات الى المنفذ اكتب في اداة الامر Button1 الكود التالي :
كود :
Dim x As Byte
x = ByVal( TextBox1.text)
SerialPort1. Open()
Out(1016, x )
SerialPort1. Close()
8- لقراءة البيانات من المنفذ اكتب في اداة الامر Button2 الكود التالي :
كود :
Dim y As Byte
SerialPort1. Open()
y = Inp(1016)
SerialPort1. Close()
TextBox2.Text = y
انتهى المشروع والان جاهز للتجربة
ملاحظات هامة فبل تجربة البرنامج:
1- يجب التأكد من عنوان المنفذ التسلسلي على حاسبتك فالعنوان كان على حاسبتي هو 3F8 بالنظام السادس عشر وقمت بتحويله الى النظام العشري 1016 وعلى ما أعتقد هو نفسه في حاسبتك.
2- عند الضغط على Button1 سيقوم البرنامج بأرسال القيمة المدخلة في الـ TextBox1 الى المنفذ SerialPort وشرط ان لا يكون TextBox1 فارغ من الارقام لان ستظهر رسالة خطأ.
3- شرط القيمة المرسلة هي من 0 الى 255 ويجب ملاحظة نوع المتغيران x,y في المثال السابق فأذا استخدمتهما في عمليات حسابية يجب ان يكون من النوع integer وليس Byte بشرط ان لا يكون الناتج اكبر من 255 او اصغر من الصفر.
4- عند الضغط على Button2 سيقوم البرنامج بقراءة البيانات التي تم ادخالها الى المنفذ من مصدر خارجي وعرضها في الاداة TextBox2
5- عند ادخال البيانات الى المنفذ من مصدر خارجي يجب الانتباه الى ان البيانات سوف تكون محفوظة في ذاكرة مؤقتة يمكن قراءتها عدة مرات وعند ادخال بيانات جديدة ستحل محل البيانات السابقة وهكذا.
6- يتم ارسال البيانات TX من المنفذ الى الخارج عند البن رقم 3 ويكون استلام البيانات RXمن الخارج الى المنفذ عند البن رقم 2 ويكون البن رقم 5 هو ارضي مشترك ويجب توصيله مع الجهاز الخارجي.
7- لكي تتأكد من صحة عمل مشروعك بشكل صحيح قم بتوصيل سلك من البن رقم 2 الى البن رقم 3 وشغل البرنامج ومن ثم ادخل قيمة معينة في الـ TextBox1 وأضغط Button1 سيتم ارسال القيمة الى البن رقم 3 وعبر السلك الى البن رقم 2 وتثبيتها في الذاكرة المؤقتة ، الان أضغط على الـ Button2 ستلاحظ القيمة ظهرت في الـ TextBox2 وهي نفسها في TextBox1 اذا لم تظهر تأكد من صحة كتابة البرنامج او من صحة توصيل السلك بين الرقمين 3 و 2