تقييم الموضوع :
  • 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
}}}
تم الشكر بواسطة:



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


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