منو اصلی

درگاه ورود کاربران
لینک سایت های مفید
تقویم
<    «  ارديبهشت 1391  »    >
شيدسچپج
 1
2345678
9101112131415
16171819202122
23242526272829
3031 
آرشیو
امار سایت
آمار مطالب:
  يک ساعت پيش: 0
  امروز: 0
  اين ماه: 7
  مجموع مطالب: 398
  کل نظرات: 309



آمار بازديد:
  بازديد امروز: 4006
  بازديد ديروز: 3512
  مجموع بازديدها: 2495516



آمار کاربران:
  يک ساعت پيش: 0
  امروز: 9
  اين ماه: 347
  مجموع کابران: 7265
  بن شدگان: 2

آخرين عضو:


javad_gh1370

 


کاربران آنلاین:

رباطها آنلاین: Crawl Bot, Google Bot

در حال حاضر 0 کاربر, 2 رباط, 1 میهمان و در مجموع 3 نفر در سایت حضور دارند.
همکاران سایت

--------------------
نظرسنجی

دوست دارید نرم افزار رو روی چه سیستم عاملی اجرا کنید ؟

Xp
Vista
Seven
Apple
Windows android
تازه های سایت
بخش های پربازدید
اطلاعات سایت
حمایت  فارسی دی بی

 

http://www.farsidb.com/farsidb.gif

برای حمایت از فارسی دی بی کد بالا را در سایت و یا وبلاگ خود قرار دهید با تشکر

رتبه و اطلاعات سایت   

   http://www.farsidb.com/alex.jpg

 


ر فریم ورک .NET 2 به بعد فضا نام System.IO.Ports اضافه گردید این فضا نام دارای کلاسی با عنوان Serial Port می باشد که از این می توان برای دسترسی به پورت سریال و ارسال و دریافت اطلاعات از طریق این پورت انجام داد.


برای شروع باید فضا نام بالا را فراخوانی کنیم برای این کار از using استفاده می کنیم .
1 using System.IO.Ports;


برای اینکه از طریق پورت سریال بتوانیم داده ارسال و دریافت کنیم باید پورت مورد نظر را open یا باز کنیم.پورت سریال دارای پارامترهایی می باشد که نرخ و سرعت تبادل اطلاعات رو ست می کند . پس قبل از باز کردن یک پورت باید مقدار پارامترها را تعیین کنیم این پارامترها عبارت است از

Baud Rate: اندازه سرعت تبادل اطلاعات را تعیین می کند , معادل بیت بر ثانیه است.
Parity
Stop Bits
Data Bits : تعداد بیت ها را مشخص میکند
Port Name : شماره پورتی که می خواهید باز کنید مثل com1,com2

خوب بر اساس توضیحات داده شده مقادیر بالا را مقداردهی و پورت را با دستور زیر باز می کنیم.
01 //ایجاد یک آبجکت از serial port
02 SerialPort ccom = new SerialPort();
03 //اگر پورت قبلا باز باشد آن را ببندد
04 if (ccom.IsOpen == true) ccom.Close();
05 //مقدار دهی پارامتر ها
06 ccom.BaudRate = 9600;
07 ccom.DataBits = 8;
08 ccom.Parity = (Parity)Enum.Parse(typeof(Parity), "None");
09 ccom.StopBits = (StopBits)Enum.Parse(typeof(StopBits), "One");
10 ccom.PortName = "COM1";
11 //باز کردن پورت
12 ccom.Open();


برای آگاهی از پورت های سریال در سیستم می توان از دستور GetPortNames() برای این منظور استفاده کرد.
1 foreach (string s in SerialPort.GetPortNames())
2 Console.WriteLine(s);


برای انجام عمل فرستادن اطلاعات به پورت از دستور Write برای این منظور استفاده می کنیم. این دستور اطلاعات را به دو صورت Text و Byte ارسال می کند به نمونه مثال های زیر توجه کنید.
1 //ارسال به صورت Text
2 string msg = "Hello";
3 ccom.Write(msg);
4 //ارسال به صورت Byte
5 ccom.Write(new byte[] { 0x0A, 0xE2, 0xFF }, 0, 3);


البته برای انتقال اطلاعات به صورت Byte بهتر است از روش پایین استفاده کنیم.یک تابع با نام HexToByte می نویسیم که مقدار را از Hex به Byte تبدیل می کند بعد از انجام عمل تبدیل آن را ارسال می کنیم.
01 private byte[] HexToByte(string msg)
02 {
03 msg = msg.Replace(" ", "");
04 byte[] comBuffer = new byte[msg.Length / 2];
05 for (int i = 0; i < msg.Length; i += 2)
06 comBuffer[i / 2] = (byte)Convert.ToByte(msg.Substring(i, 2), 16);
07 return comBuffer;
08 }
09
10
11
12 byte[] newmsg = HexToByte(msg);
13 ccom.Write(newmsg, 0, newmsg.Length);


دراینجا برنامه ای را برای شما می گذارم که این برنامه درای یک کلاس با نام CommunicationManager.cs می باشد که شامل توابعی برای ارسال و دریافت اطلاعات از پورت سریال می باشد.این برنامه می تواند راهنمای خوبی برای شما باشد.
[center]ارتباط با پورت سریال در سی شارپ[/center]
لینک دریافت فایل SerialPortCommunication
همانطور که می دانید از پورت سریال در ساخت واسط بین کامپیوتر و مدارات الکترونیکی کاربردی زیادی دارد که شاید دلیل آن سهولت کار با این پورت می باشد.

DB9 Male (Pin Side) DB9 Female (Pin Side)
DB9 Female (Solder Side) DB9 Male (Solder Side)
————- ————-
\ 1 2 3 4 5 / \ ۵ ۴ ۳ ۲ ۱ /
\ ۶ ۷ ۸ ۹ / \ ۹ ۸ ۷ ۶ /
——— ———

DB9 Female to DB9 Female Null-Modem Wiring
2 | 3 | 7 | 8 | 6&1| 5 | 4
—- —- —- —- —- —- —-
3 | 2 | 8 | 7 | 4 | 5 | 6&1

9-pin 25-pin Assignment From PC
—— —— ————————- ————
Shield 1 Case Ground Gnd
1 8 DCD (Data Carrier Detect) Input
2 3 RX (Receive Data) Input
3 2 TX (Transmit Data) Output
4 20 DTR (Data Terminal Ready) Output
5 7 GND (Signal Ground) Gnd
6 6 DSR (Data Set Ready) Input
7 4 RTS (Request To Send) Output
8 5 CTS (Clear To Send) Input
9 22 RI (Ring Indicator) Input

نحوه ارتباط به این صورت خواهد بود که پین RX کامپیوتر به پین TX مدار پین RX مدار به پین TX کامپیوتر وصل خواهد شد.

بازدیدها: 1357

http://www.farsidb.com/forum.gif


شماره نظر: 1 | نويسنده: akbar_net | [ايميل] | تاريخ ارسال: 18/05/1390 - 17:21
| نام کامل: akbar | تاريخ عضويت: 18.05.1390 | کشور: teh

تعداد مطالب: 0
تعداد نظرات: 1
مقاله زیر برای افرادی مناسب می باشد که قصد ارتباط با پورت سریال در سی شارپ را دارند .

به منظور ارتباط بين کامپيوتر و سخت افزار (سخت افزار هايي که توسط ميکروکنترلرهايي نظير ARM-PIC-AVR ... ) زبان برنامه نويسي c# کامپوننت بسيار مفيدي بنام serial port پيش بيني نموده است که براحتي طراحان سخت افزار و الکترونيک مي توانند با اين ابزار ارتباط برقرار کرده و اقدام به ارسال و دريافت ديتا با کمترين زحمت در برنامه نويسي داشته باشند.

مقاله زیر به طور کامل به این موضوع پرداخته است :

http://www.4shared.com/file/5F3BpaY6/serialC.html




   

شماره نظر: 2 | نويسنده: khodemuni | [ايميل] | تاريخ ارسال: 30/01/1391 - 18:58
| نام کامل: امین | تاريخ عضويت: 30.01.1391 | کشور: --

تعداد مطالب: 0
تعداد نظرات: 1
سلام عزیز
من شدیدا به ارتباط کامپیوتر با میکروکنترللر ها احتیاج دارم که متاسفانه لینکی که akbar قرار داده ، خرابه ...
لطفا اگه رفرنس یا مقاله ای در این باره میشناسید و یا دارید ، معرفی نمایید ...
با سپاس
   

اطلاعات
 
براي ارسال نظر، بايد در سايت عضو شويد.

 
 

پشتیبانی شده توسط سرور باران