الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

SerialPort

مغلق
بدأه abohmza في 3 ديسمبر 2005 · 5 رد · 716 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

الرجاء من الخبراء في 2005# c المساعدة بإعطاء مثال واضح عن كيفية استخدام الSerialPort للقراءة من منفذ الكوم

حيث أني أريد قراءة سلسلة محارف ولكن بشكل متقطع أي "helloeverybody"

فأحصل عليها باشكل التالي "hello" "every" "body"

كما تكون لعباد الله يكون الله لك

#2

بسم الله الرحمن الرحيم

لك نتعامل مع السيريال بورت

   
    private string ReadStringFromCom(string serial)
    {

        System.IO.Ports.SerialPort Com1 = new System.IO.Ports.SerialPort(serial);

        char[] Buf = new char[Com1.BytesToRead];
        int BytesReadCount = Com1.Read(Buf,0,Com1.BytesToRead);
        return new string(Buf,0,BytesReadCount);
     }

مثال:

    string data = ReadStringFromCom("COM1");

أما بنسبة لمعرفة محتويات البينات يجب أن يكون هناك نموذج معين لمعرفة بداية الكلمة ونهايتها

1- نستطيع أن نحدد أن كل كلمة لها طول معين

2- نستطيع أن نفصل الكلمات بفاصل معين حرفا ما

في سؤالك لا يوجد أي دليل على معرفة متى تنتهي الكلمة

أتمنى أن تكون قد وصلت لضالتك

تم تعديل هذه المشاركة بواسطة TarekNajem04 في 3 ديسمبر 2005 في 15:23

لا تفعل إلا ما تستطيع أن تقوله ولا تقول إلا ما تسطيع أن تفعله

اللهم علمنا ما ينفعنا ونفعنا بما علمتنا وهب لنا من لدنك ولياً مرشدا

كلما أدبني الدهر أراني نقص عقلي ... وإذا ما زدت علماً زادني علماً بجهلي

أخوكم في الله أبو المجد

هيا نتعلم بعض المبادء لنطرق باب الإحتراف ************** جديد الدروس ( Application Domains and Assemblies)

التوقيت في دمشق:

<embed src="http://www.clocklink.com/clocks/0006-Gray.swf?TimeZone=R1T" width="200" height="240" wmode="transparent" type="application/x-shockwave-flash">

#3

أخي الكريم مشكور على الرد لكن أريد توضيح مضمون البيانات وهي أني أعمل نظام مراقبة لمقسم الهاتف والبيانات تأتي على الشكل التالي فكيف أستطيع تجزئتها ولك كل الشكر

S 008 00 DN7234 T004016 007.2.04.03 09/07 10:01 00:03:08 966010000029 000058

كما تكون لعباد الله يكون الله لك

#4

بسم الله الرحمن الرحيم

الملاحظ في بياناتك أن المسافة البيضاء هي التي تفصل بين البينات

S 008 00 DN7234 T004016 007.2.04.03 09/07 10:01 00:03:08 966010000029 000058

فعند قدوم الداتا نستطيع أن نقوم بتقسيمها لإليك الكود

    string data = ReadStringFromCom("COM1");
    string[] tokens = data.Split(new char[] {" "});
    // هنا تضيف الإختبارت على كل عنصر في المصفوفة
   //tokens[0] = مثلاُ تعني رقم المستخدم
   //tokens[1] = مثلاُ تعني رقم الشبكة
   // إلى أن يتم قرائة البينات

أتمنى أن تكون قد وصلت لضالتك

لا تفعل إلا ما تستطيع أن تقوله ولا تقول إلا ما تسطيع أن تفعله

اللهم علمنا ما ينفعنا ونفعنا بما علمتنا وهب لنا من لدنك ولياً مرشدا

كلما أدبني الدهر أراني نقص عقلي ... وإذا ما زدت علماً زادني علماً بجهلي

أخوكم في الله أبو المجد

هيا نتعلم بعض المبادء لنطرق باب الإحتراف ************** جديد الدروس ( Application Domains and Assemblies)

التوقيت في دمشق:

<embed src="http://www.clocklink.com/clocks/0006-Gray.swf?TimeZone=R1T" width="200" height="240" wmode="transparent" type="application/x-shockwave-flash">

#5

مشكور الله يعطيك العافية والله ماقصرت يامعلم

كما تكون لعباد الله يكون الله لك

#6

ممكن أسأل كيف يمكن أغلق serial port في c# ,امنع فتحة إلا باستخدام برنامجي؟؟؟؟؟؟؟

My_Sign.jpg

هذا الموضوع مغلق.

مواضيع مشابهة