Introduction
บทความนี้, ผมจะนำเสนอวิธีกาีรเขียนโปรแกรมติดต่อกับ Serial Port บน .NET platform โดยใช้ C# .NET framework version 2.0 ซึ่งมีคุณสมบัติติดต่อกับ serial port ได้. Framework กำหนดให้ใช้ Namespaceชื่อ System.IO.Ports. Framework ใหม่นี้สามารถที่จะติดต่อสื่อสารข้อมูลผ่าน Serial Port บนคอมพิวเตอร์เราได้ และติดต่อกับอุปกรณ์อื่นๆที่ผ่าน Serial port ได้เ่ช่นกัน เราจะใช้ RS 232 C standard สำหรับการติดต่อระหว่าง คอมพิวเตอร์ด้วยกัน ในโหมด full duplex แต่ในที่นี้ผมไม่ได้ใช้ การทำ handshaking หรือ flow control นะครับ ผมจะ้ใช้การต่อแบบ null modem เพื่อการสื่อสารครั้งนี้
สร้าง SerialPort Object
สำหรับการสร้าง object นี้ เราจะสามารถเขียนโปรแกรมเพื่อควบคุมการทำงานของ object นี้ในการติดต่อสื่อสารแบบ Serial Portสมาชิกของ SerialPort class ที่เราจะใช้มีดังนี้
ReadLine(): อ่านค่าแบบเป็นบรรทัดแล้วเก็บไว้ใน input buffer. ถ้าไม่มีข้อมูลมาใหม่ก่อนเวลา timeout method นี้จะส่งค่าคืนเป็น nullWriteLine(string): เขียนข้อมูลที่เป็นสตริง และส่งข้อมูลบรรทัดใหม่ไปที่ output buffer.Open(): เปิดการติดต่อ serial portClose(): ปิดการติดต่อ port
Code สำหรับการสร้าง SerialPort object
//สร้าง Serial port object
SerialPort sp = new SerialPort ();
Object นี้มี public constructors 7 ตัว แต่ผมจะใช้แค่ไม่กี่ตัวที่ใช้เป็นกำหนดค่าเริ่มต้นเช่น DataBits กำหนดไว้ที่ 8 และ StopBits กำหนดไว้ที่ 1หมายเลข Port กำหนดไว้ที่ Com1The public properties ของ SerialPort class มีดังนี้
BaudRate: ตั้งค่าหรือตรวจสอบค่า baud rate.StopBits: ตั้งค่าหรือตรวจสอบค่า stopbits ต่อ byte.ReadTimeout: ตั้งค่าหรือตรวจสอบค่า เวลา timeout ในหน่วย milliseconds ก่อนเกิด timeout เมื่อการอ่านข้มูลทำงานจบ.
มีหลาย public properties แต่จะของแนะนำแค่ 3 ตัวที่กล่าวมาซึ่งตัวอื่นจะเป็นค่า default อยู่แล้วสำหรับการทดสอบโปรแกรมบนเครื่องคอมพิวเตอร์เดียวนั้น ให้ใช้วิธี LoopBack คือ หา DB9 connector มาสักหนึ่งตัว แล้ว ต่อสายระหว่าง Pin 2 กับ 3 เท่านี้ก็ทดลองได้แล้วครับ Read the rest of this entry »
c# Com Port Programming Serial Port

