ผมทำการเชื่อมต่อระหว่างเครื่องชั่งน้ำหนัก แล้วแสดงน้ำหนักที่ชั่งได้ในโปรแกรมWinfdowsที่เขียนขึ้นด้วยVB.Net
โดยเชื่อมต่อผ่านทางSerial Port ผมสามารถเชื่อมต่อและแสดงผลได้ถูกต้องแล้ว
เมื่อUserการชั่งน้ำหนักทุกๆ 0.5วินาที (ดังนั้นจะมีข้อมูลเข้ามาทางSerial Portทุก 0.5วินาที)
โปรแกรมเกิดอาการหน่วง
ในขั้นแรกผมสันนิษฐานว่า Serial Portมีการรับส่งช้า แต่พอลองใช้Simultor จำลองการส่งข้อมูล
ทำให้ได้ข้อสรุปว่าปัญหาเกิดทางฝั่งVB ทั้งๆที่การคำนวณก่อนแสดงผลไม่ได้ซับซ้อนอะไร แค่เปิดPort แล้ว เอาน้ำหนักที่ชั่งได้ไปคูณกับค่าในDatabase แล้วเซ็ทให้กับTextbox
โดยที่โปรแกรมจะคอย Handles Event ของ Timer ซึ่งผมตั้งค่า Timer1.Interval = 100
โดยจะเข้าอีเวนท์ Timer1.Tick ทุกๆ0.1วินาที
เพื่อให้มีการอัพเดทค่าบนหน้าจอทุกๆ 0.1วินาที ซึ่งรีเฟรทค่าเร็วกกว่าที่รับมาจากSerial Portซะอีก
แต่ข้อมูลที่แสดงก็ยังคงช้าอยู่ดี
หากต้องการให้ค่าบนหน้าจอเปลี่ยนทันทีที่ชั่ง
มีแนวทางในการแก้ปัญหาอย่างไรได้บ้าง ขอคำชี้แนหน่อยครับ
ปรึกษาการ รับDataมาจากSerial Port เพื่อแสดงผลในWinForm ไม่ให้หน่วง(Delay)
โดยเชื่อมต่อผ่านทางSerial Port ผมสามารถเชื่อมต่อและแสดงผลได้ถูกต้องแล้ว
เมื่อUserการชั่งน้ำหนักทุกๆ 0.5วินาที (ดังนั้นจะมีข้อมูลเข้ามาทางSerial Portทุก 0.5วินาที)
โปรแกรมเกิดอาการหน่วง
ในขั้นแรกผมสันนิษฐานว่า Serial Portมีการรับส่งช้า แต่พอลองใช้Simultor จำลองการส่งข้อมูล
ทำให้ได้ข้อสรุปว่าปัญหาเกิดทางฝั่งVB ทั้งๆที่การคำนวณก่อนแสดงผลไม่ได้ซับซ้อนอะไร แค่เปิดPort แล้ว เอาน้ำหนักที่ชั่งได้ไปคูณกับค่าในDatabase แล้วเซ็ทให้กับTextbox
โดยที่โปรแกรมจะคอย Handles Event ของ Timer ซึ่งผมตั้งค่า Timer1.Interval = 100
โดยจะเข้าอีเวนท์ Timer1.Tick ทุกๆ0.1วินาที
เพื่อให้มีการอัพเดทค่าบนหน้าจอทุกๆ 0.1วินาที ซึ่งรีเฟรทค่าเร็วกกว่าที่รับมาจากSerial Portซะอีก
แต่ข้อมูลที่แสดงก็ยังคงช้าอยู่ดี
หากต้องการให้ค่าบนหน้าจอเปลี่ยนทันทีที่ชั่ง
มีแนวทางในการแก้ปัญหาอย่างไรได้บ้าง ขอคำชี้แนหน่อยครับ