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

serial port programming with c#.net

مغلق
بدأه magzz في 23 أبريل 2006 · 4 رد · 2,399 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله

انا كنت عايز اى حد عنده خلفية عن التعامل بالسى شارب مع ال serial port

علشان انا محتاجه فى دمجه مع الكود بتاع البرنامج بتاعى اللى هو بيشغل جهاز متوصل بالseria port

وياعم معتز شمس انا سمعت عنك انك راجل تمام يا ريت بئه تفيدنا من علمك الواسع B)

متشكررررررررررررين جدا

ورنا يكرمكم :D penkiou@hotmail.com

#2

اختي الكريمة هناك تقنية تدعى

WMI

بامكانك من خلالها التعامل مع الهاردوير واخ> جميع المعلومات عن الهاردوير

asp" target="_blank">Computer System Hardware Classes

الرابط اعلاه يحتوي على جميع الكلاسات من ضمنها

win32_serialPort

وبربطه مع

ًWMI

ستحصلين على جميع النتائج المتعلق ب

win32_serialPort

اما عن كيفية الربط

<PRE lang=cs>using System;

using System.Management;

using System.Management.Instrumentation;

namespace ConsoleApplication1

{

class Class1

{

[sTAThread]

static void Main(string[] args)

{

ManagementObjectSearcher searcher =

new ManagementObjectSearcher("Select Name from Win32_Serial Port");

foreach(ManagementObject cdrom in searcher.Get())

{

Console.WriteLine("Name: {0}\n",

cdrom.GetPropertyValue("Name"));

}

}

}

}</PRE>

ان لم ينفع معك الكلاس(Win32_Serial Port)

جربي غيره من الكلاسات الخاصة ب

Network

وهي موجوده بالرابط اعلاه

وعفوا على الاطاله اما عن معتز فكلنا ننتظر فوائده جزاه الله الف خير

وإذا حماسُ تبهنستْ آسادُها ،،،، فعلى اليهودِ المارقينَ السّامُ

لا نأسف على غدر الزمان لطالما ،،،،، رقصت على جثث الأسود كلابا

لا تحسبن برقصها تعلوا على أسيادها ،،،،، تبقى الأسود اسود ا والكلاب كلابا

فلاشات اسلامية

#3

ولا علم واسع ولا حاجه , عموما أشكرك على الثقه.

اذا كنت تستخدم C# 2005 فيوجد لديك كلاس خاص بذلك System.IO.Ports.SerialPort واستخدامه سهل وبسيط. أما لو كنت تستخدم سي شارب 1 فيمكنك البحث عن أداه جاهزه تهتم بالتفاصيل الـ Low-Level الا اذا كان ذلك هو لب أو مقصد مشروعك.

ابحث هنا في المنتدى فأعتقد أن الأخ bashmohandes أو غيره وضع وصلات قبل ذلك لمكتبات جاهزه.

#Read

http://MoutazShams.blogspot.com

projects003.gif

أعتذر عن التغيب هذه الأيام نظرا للانشغال المريب

#4

من المعروف أن المنفذ التسلسلي يتكون من 9 Pins لكل منها وظيفة معينة وهي كما في الشكل التالي :

Serial1.GIF

ويعتبر هذا البورت (Male Serial Port ) وهو الموجود عادة في الحاسوب والذي سيتم ربطه بال (Female Serial Port ) كما في الشكل التالي :

Serial2.JPG

حيث يتم استخدام ال Pin 1 وهو input إلى الحاسوب لتفحص وجود إشارة وهو مهم جدا لمعرفة بدأ عملية الإرسال أو ما يسمى الإشعار.

ال Pin 2 وهو Input أيضا ويستخدم لاستقبال البيانات من الجهاز الخارجي

ال Pin 3 وهو Output ويستخدم لإرسال البيانات إلى الطرف الأخر و يستخدم ال Pin 4 لتفحص وجود بيانات واردة و ال Pin 6 وهو Input ويستخدم لتأكد من تسليم البيانات و Pin 7 وهو Output ويستخدم لطلب الإرسال ..

يتم التعامل مع هذه المنافذ في C# 2005 لإرسال واستقبال البيانات باستخدام النيم سبيسس using System.IO.Ports وكما يلي في الكود:

private SerialPort port = new SerialPort("COM1", 9600, Parity.None, 8, StopBits.One);

حيث يتم تعريف الكائن port من الكلاس المخصص لهذا الغرض وهو SerialPort وتمرير قيم ابتدائية لها حيث سيتم التعامل مع ال Com1 بحيث أن الحجم الأقصى للبيانات التي سيتم إرسالها في كل مرة هو 9600 بيت بحجم 8 بيت لل Packet الواحد من البيانات .

port.Open();
لفتح البورت والبدء بعملية الاتصال

ولتجربة نريد إرسال بيانات عبر ال serial Port وهي هنا بيانات ب Hexadecimal

port.Write(new byte[] {0x0A, 0xE2, 0xFF}, 0, 3);

حيث تم لإرسال عبر البورت 3 وهو المخصص للإرسال من الحاسوب (كما ذكرنا سابقا) وكما تلاحظون فإن البيانات المراد إرسالها يتم تحويلها إلى مصفوفة من النوع Byte ويتم استقبالها عبر البورت 2 في الجهاز المقابل كما يلي في الكود :

  port.DataReceived += new SerialDataReceivedEventHandler(port_DataReceived);
#5

السلام عليكم

انا متشكر يا شباب عاى تعبكم

وربنا يكرمك قصاد اخلاصكم فى الحاجة ومحاولة خدمة بقية زمايلكم

المهم انا حاولت اعمل الحكاية ديه من كم يوم انى افتح الnamespace

System.IO.ports ولكن ماعملش وطلع النسخة اللى عندى من vs.net 2003

انا مش هاعرف اجيب دلوقتى نسخة تانية....

ينفع يكون ليها حل لو النسخة 2003

وتقصد ايه با (low level)

يا استاذ معتز انا عايز اعملها شاور علي اعملها بيه او اتصرف ازاى

معلش انا تاعبكم معايا بس معلش لغاية ماعاعرف اتصرف فى 2005

penkiou@hotmail.com

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

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