تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
التعامل مع الأجهزة الخارجية عن طريق المنفذ Serial Port
#1
كثير من الأجهزة الخارجية يتم وصلها عن طريق Serial Port وهو ما يسمى بالمنفذ التسلسلي.

فكرة الوصل تتم عن طريق ضبط بعض الإعدادات التي تحدد سرعة الإرسال وتفاصيل هذا الاتصال ورقم المنفذ المطلوب الاتصال به وعندها يتم فتح منفذ وبالتالي يمكن إرسال أو استقبال البيانات على هذا المنفذ.

من أمثلة ذلك بعض الموازين الالكترونية وبعض اجهزة GPS التي يتم تعريف اتصالها عن طريق SerialPort.

مثال إرسال بيانات عن طريق SerialPort:

PHP كود :
//تعريف كائن الاتصال 
    
SerialPort SP = new SerialPort("COM1"9600Parity.None8StopBits.One); 

    
//فتح المنفذ 
    
SP.Open(); 

    
//إرسال نص عن طريق المنفذ 
    
SP.Write("Osama"); 

    
//إرسال بايتات عن طريق المنفذ 
    //بداية نضع البايتات المطلوبة 
    //ثم مكان البايت الذي سيتم الإرسال منه وأول بايت هو رقم 0 
    //عدد البايتات المطلوب إرسالها وهنا سترسل 3 بياتات 
    
SP.Write(new byte[] { 0x0A0xE20xFF }, 03); 

    
//إغلاق المنفذ 
    
SP.Close(); 

استقبال البيانات التي يتم ارسالها عن طريق SerialPort يتم في مخزن بيانات يسمى Buffer ومهمتك هي استلام هذه البيانات من الـ Buffer ومعالجتها:

PHP كود :
//تعريف كائن الاتصال 
    
SerialPort SP = new SerialPort("COM1"9600Parity.None8StopBits.One); 

    
//فتح المنفذ 
    
SP.Open(); 

    
//قراءة سطر من المخزن 
    
string Line SP.ReadLine(); 

    
//إغلاق المنفذ 
    
SP.Close(); 
متغيب قليلاً للدراسة Smile
}}}}
تم الشكر بواسطة:
#2
PHP كود :
private void FrmMain_Load(object senderEventArgs e
    { 
        
//تعريف كائن جديد 
        
SerialPort port = new SerialPort
            
"COM1"9600Parity.None8StopBits.One); 

        
//تعريف حدث استلام بيانات جديدة وربطه بدالة الاستقبال 
        
port.DataReceived += 
            new 
SerialDataReceivedEventHandler(port_DataReceived); 

        
//فتح المنفذ 
        
port.Open(); 
    } 

    private 
void port_DataReceived(object senderSerialDataReceivedEventArgs e
    { 
        
//استلام البيانات وتعبئتها في المتغير 
        
MyData += port.ReadExisting(); 
    } 
متغيب قليلاً للدراسة Smile
}}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [سلسلة التعامل مع الويب] تحليل الصفحات باستخدام HtmlAgilityPack الشاكي لله 9 1,239 25-09-16, 12:19 PM
آخر رد: ابراهيم كركوكي
  [سلسلة التعامل مع الويب] - ارسال الطلبات HttpWebRequset الشاكي لله 14 4,833 02-06-16, 11:21 AM
آخر رد: CLARO
  التعامل مع ملفات zip الشاكي لله 4 832 12-02-16, 02:48 PM
آخر رد: nani49
  التعامل مع ملفات xml بلغتي C#&VB Sajad 6 5,422 30-07-14, 11:54 PM
آخر رد: السندبااد
  [سلسلة التعامل مع الويب] - تبادل البيانات بين المستخدمين (تمهيدي) الشاكي لله 6 1,188 23-08-13, 09:10 PM
آخر رد: الشاكي لله
  مقدمة إلى ربط الأجهزة على الشبكات من خلال Sokets - الجزء الأول RaggiTech 0 709 14-10-12, 03:01 PM
آخر رد: RaggiTech

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم