คอนโทรล MSComm
สำหรับการใช้งาน Visual Basic ตั้งแต่เวอร์ชัน 2 เป็นต้นมา ใน Visual Basic จะมีคัสตอมคอนโทรลสำหรับการสื่อสารอนุกรมผ่านทางพอร์ตอนุกรมของคอมพิวเตอร์มาให้ โดยใน Visual Basic เวอร์ชัน 2 และเวอร์ชัน 3 จะใช้ชื่อว่า MSCOMM.VBX ส่วนเวอร์ชัน 4 ใช้ชื่อว่า MSCOMM16.OCX สำหรับการทำงานกับระบบปฏิบัติการ 16 บิตและ MSCOMM32.OCX สำหรับการทำงานกับระบบปฏิบัติการ 32 บิต สำหรับใน Visual Basic เวอร์ชัน 5 จะมีเพียง MSCOMM32.OCX เท่านั้นเพราะถูกออกแบบมาให้ใช้งานกับระบบปฏิบัติการ 32 บิต
MSComm จัดเตรียมทางเลือกเอาไว้ 2 ทางเพื่อความสะดวกในการสื่อสารข้อมูล ทางแรกคือ การสื่อสารข้อมูลที่กระตุ้นด้วยเหตุการณ์ (event-driven communications ) เป็นรูปแบบการใช้งานที่มีประสิทธิภาพมากสำหรับการตอบสนองแบบทันทีทันใด เช่น เมื่อตัวอักษรถูกส่งมาที่พอร์ตอนุกรมหรือเกิดการเปลี่ยนแปลงที่ขา Data Carrier Detect (DCD) หรือขา Request To Send (RTS) เหตุการณ์ ONCOMM ของ MSComm จะสามารถตรวจจับสัญญาณนั้นได้ทันที ซึ่งจะกล่าวถึงรายละเอียดในหัวข้อคุณสมบัติ CommEvent ต่อไป ส่วนทางเลือกที่สองเป็นการคอยตรวจสอบค่าเหตุการณ์และความผิดพลาดที่เกิดขึ้นด้วยการดูค่าที่เปลี่ยนแปลงภายในคุณสมบัติ CommEvent หลังจากให้โปรแกรมทำงานในฟังก์ชั่นต่างๆ ไปเรียบร้อยแล้ว ซึ่งวิธีนี้ใช้งานได้ดีในกรณีที่โปรแกรมมีขนาดเล็ก
คอนโทรล MSComm 1 ตัวสามารถควบคุมการทำงานของพอร์ตอนุกรมได้ 1 พอร์ต ถ้าในโปรแกรมที่ใช้งานต้องการติดต่อกับพอร์ตอนุกรมมากกว่า 1 พอร์ตจะต้องใช้คอนโทรล MSComm มากกว่า 1 ตัวเพื่อควบคุมพอร์ตอนุกรมในแต่ละพอร์ต แอดเดรสของพอร์ตอนุกรมและแอดเดรสของการเกิดอินเตอร์รัปต์สามารถเปลี่ยนแปลงได้จากการแก้ไขค่าที่ Control Panel
ถึงแม้ว่า คอนโทรล MSComm จะมีคุณสมบัติ (property) มากมายหลากหลายตัว แต่สามารถทำความเข้าใจได้ไม่ยากดังนี้
CommPort
ใช้ในการกำหนดและอ่านค่าพอร์ตอนุกรมที่ติดต่ออยู่ (COM1,COM2 ,COM3,COM4)
รูปแบบการใช้งาน
object.CommPort[ = value ]
โดย Value เป็นค่าของพอร์ตอนุกรม ชนิดของข้อมูลเป็น Integer ค่า Value สามารถกำหนดได้ในช่วง 1-16 (ค่าเริ่มต้นกำหนดไว้ที่ 1) เมื่อมีการกำหนดค่าแล้วทำการเปิดพอร์ตโดยใช้คุณสมบัติ PortOpen แต่ว่าพอร์ตนั้นไม่มีอยู่ในระบบ MSCOMM จะสร้างสัญญาณแสดงข้อผิดพลาด error 68 ขึ้นมา ซึ่งหมายถึง อุปกรณ์ตัวนี้ไม่มีอยู่ในระบบ ดังนั้นการเขียนโปรแกรมจึงจำเป็นต้องกำหนดตำแหน่งของพอร์ตอนุกรมก่อนที่ใช้คำสั่ง OpenPort
Day: March 25, 2019
ตั้งค่าคุณสมบัติต่อไปนี้โดยไม่คำนึงถึงเทคนิคที่คุณใช้:
- คุณสมบัติ CommPort: การตั้งค่าคุณสมบัตินี้เป็นตัวเลขไปยังพอร์ตสื่อสารที่ต้องการ ค่าที่ถูกต้องคือ 1, 2, 3 หรือ 4 ขึ้นอยู่กับพอร์ตอนุกรมที่พร้อมใช้งาน และการกำหนดค่าของคอมพิวเตอร์แต่ละตัว ค่าเหล่านี้ตรงกับ Com1, Com2, Com3 และ Com4 ตามลำดับ
- ตั้งค่าคุณสมบัติ: ชุดคุณสมบัติอักขระนี้อัตรารับส่งข้อมูล พาริตี้ บิตข้อมูล และ บิตหยุดกำหนดอุปกรณ์เชื่อมต่อกับพอร์ตอนุกรม คุณสมบัตินี้เป็นตัวอักขระ รายการที่คั่นด้วยจุลภาค ตัวอย่างเช่น เพื่อตั้งค่าพอร์ตอนุกรม 14,400 บอด แม้กระทั่งพาริตี้ บิตข้อมูล 7 และ 1 บิตหยุด ตั้งไว้สตริ:
14400,E,7,1
- คุณสมบัติ PortOpen: การตั้งค่าคุณสมบัตินี้ทางตรรกะเพื่อ true to เปิดการสื่อสารกับพอร์ตอนุกรมพอร์ต นอกจากนี้คุณยังสามารถตรวจสอบคุณสมบัตินี้เมื่อต้องการตรวจสอบพอร์ตที่เปิดได้อย่างถูกต้อง
คุณสมบัติการส่งข้อมูลไปยังพอร์ตอนุกรมที่ใช้ตัวควบคุม mscomm จะเป็นดังนี้:
CommPort
คุณสมบัติCommPortระบุหมายเลขพอร์ตสื่อสาร คุณสมบัติที่เป็นตัวเลขที่สอดคล้องกับสารพอร์ต โดยค่าเริ่มต้น คุณสมบัตินี้ถูกตั้งค่าเป็น 1 ที่สอดคล้องกับ com1 ค่าที่ถูกต้องคือ 1, 2, 3 หรือ 4 ขึ้นอยู่กับพอร์ตอนุกรมที่ติดตั้งบนคอมพิวเตอร์และตั้งค่าคอนฟิกของพวกเขา
การตั้งค่า
ตั้งค่าคุณสมบัติกำหนดค่าอัตรารับส่งข้อมูล พาริตี้ บิตข้อมูล และบิตการหยุดสำหรับพอร์ตอนุกรม ตั้งค่าคุณสมบัติเป็นสายอักขระที่ประกอบด้วยแต่ละค่าที่คั่นด้วยจุลภาค โดยค่าเริ่มต้นการตั้งค่าคุณสมบัติเป็นดังนี้:
ดังนี้ 9600, N, 8, 1
คุณสมบัตินี้สอดคล้องกับ บอด 9600 ไม่มีพาริตี้ ข้อมูล 8 บิต และบิตหยุด 1
- สวัสดียามเช้า วันนี้ควรไปทำเรื่องที่ควรทำ ในที่ที่ควรทำ และเวลาที่ควรทำ ส่วนจะทำอย่างไรก็ตามสบายเลยครับ วันนี้จะคิด… https://t.co/Oi30Ba69WS 10:05:37
- อย่างที่เคยบอกหลายคน ปกติจะไม่พูดคุยถึงเรื่องการเมือง แต่จะแสดงความเห็นทางการเมืองอย่างเต็มที่ในคูหาเลือกตั้งเท่านั้น 10:10:12
- เมื่อคืนกว่าจะกลับจากวัดมาถึงสวนได้ รถติดตลอดเส้นพหลโยธิน มีอุบัติเหตุตลอดทาง ดีที่ไม่มีหนักๆ รถก็มากยังกับช่วงเทศก… https://t.co/diZatoEHsU 10:15:11
- @lukruen ขอบคุณครับ in reply to lukruen 10:15:32
- @patchajaijam ขอบคุณครับ in reply to patchajaijam 10:15:43
- ลืมไปว่าไปงานในกรุงเทพฯ เขาไม่ได้เลี้ยงข้าวมื้อหนักเหมือนตามบ้านนอก ไม่ได้กินข้าวเย็นไปก่อน ขากลับรถก็ล้นทุกปั๊ม สุ… https://t.co/3WmXAKpKX9 10:20:36
- ไม่รู้พรรคไหนเบอร์ไหน เปิดไปดูใน https://t.co/N4HbXwX2le ใส่รหัสไปรษณีย์ก็รู้แล้ว 11:17:52
- วันนี้เลือกได้ถึงห้าโมงเย็น ไม่ใช่บ่ายสามอย่างที่เคย แต่คนก็มากันแต่วัน บางคนหย่อนบัตรเสร็จมียกมือไหว้อนุโมทนาบุญด้วย 11:53:12
- @gumpun จากข้อมูล เบอร์นี้ ผอ.กกต.เขต ไม่ประกาศรับสมัคร เลือกไปก็เป็นบัตรเสีย in reply to gumpun 13:40:38
- แวะเข้ามาดูลูกๆ นิดนึง แวะดูเพื่อนฝูง พี่ๆน้องๆหลานๆ หน่อยนึง ทั้งในทวิตเตอร์และเฟสบุ้ค แล้วจะไปทำงานให้ลูกค้าต่อ 20:24:26
- @gumpun คงไม่ใช่หรอกลูก ไม่ใช่วันนี้ เจ้าหน้าที่ยังไม่ว่าง 555 in reply to gumpun 20:29:10