Title: ช่วยด้วยครับ PIC18F452 ติดต่อ VB6 ผ่านทาง RS-232 Post by: TOPBBOY2006 on May 10, 2009, 05:19:43 PM ตอนนี้ทำโปรเจ็ทครับ ให้ PIC18F452 อ่านค่า Analog 8 ช่องครับ พออ่านค่าได้แล้วทั้ง 8 ช่อง ผมให้ค่าที่อ่านได้เก็บใน array ที่ชื่อว่า Value[8] แล้วให้ส่งค่าไปยัง VB ที่เดียวครับโดยผมใช้คำสั่งด้านล่างครับ
for(i=0;i<8;i++) { printf("%d",Value); } ส่วน Code VB ผมเขียนให้มันรับข้อมูล มาเก็บไว้ในตัวแปร array ที่ชื่อว่า Value_Buffer[8] ครับ CODE ที่ผมเขียน ประมาณนี้ครับ ******************************** Private Sub MSComm1_OnComm() On Error Resume Next If MSComm1.CommEvent = comEvReceive Then Value_Buffer(i) = MSComm1.Input End If i = i + 1 if i = 8 then i = 0 Endif ************************************* ปัญหาที่เกิดขึ้นคือว่า VB มันรับค่ามามัวเลยครับ พอผมแก้ไข code ของ pic ใหม่เป็น for(i=0;i<8;i++) { printf("%d",Value); delay_ms(50); // เพิ่งคำสั่ง delay ให้มันถึงช่วงในการส่งข้อมูล } ผลที่ได้คือ VB มันสามารถ รับ ค่าได้อย่างถูกต้องครับ แต่ข้อเสียคือถ้าข้อมูลที่ส่งมีจำนวนมาก มันส่งผลทำให้การส่งข้อมูลนั้นช้าเลยครับ จึงเรียนถามเพื่อนๆหน่อยครับที่มีความรู้ด้าน VB ว่าเราควรเขียนรับค่าแบบไหนดีครับหรือมีวิธีไหนบ้างครับที่เราจะสามารถรับข้อมูลได้ไวกว่านี้ครับ (มือใหม่ครับ) Title: Re: ช่วยด้วยครับ PIC18F452 ติดต่อ VB6 ผ่านทาง RS-232 Post by: smitdh on May 12, 2009, 11:37:15 PM แล้วลอง test กับพวก Hyperterminal ได้แล้วหรือยังครับ
ผมไม่ได้เล่น VB ซะด้วย ใครเคยเล่นช่วยหน่อยครับ Title: Re: ช่วยด้วยครับ PIC18F452 ติดต่อ VB6 ผ่านทาง RS-232 Post by: TOPBBOY2006 on May 13, 2009, 07:03:41 AM ผมลองทดลอง ติดต่อกับ Hyperterminal แล้วครับ ไม่มีปัญหาเลยครับ
Title: Re: ช่วยด้วยครับ PIC18F452 ติดต่อ VB6 ผ่านทาง RS-232 Post by: HD_EE09 on May 13, 2009, 10:47:18 AM ผมเคยทำนะครับ แต่ผมไม่แน่ใจว่าความเร็วหรือช้ามันจะต่างกัน แบบใหนครับ
หลักการก็คือส่ง "\n" ไปพร้อมกับ "%d" เช่น printf("%d \n",dat); แล้วให้ทาง VB เช็คว่าได้รับ "\n" หรือยัง ถ้าได้รับแล้วแสดงว่าข้อมูลที่ส่งไปนั้นครบแล้วครับ จากนั้นก็รอรับข้อมูลชุดต่อไป ถ้าใช้วิธีนี้ข้อมูลไม่น่าพลาดนะครับ แต่เรื่องความเร็วต้องลองดูครับ ได้ผลยังไงก็บอกด้วยนะครับ เผื่อมีอะไรช่วย ได้ครับ Title: Re: ช่วยด้วยครับ PIC18F452 ติดต่อ VB6 ผ่านทาง RS-232 Post by: TOPBBOY2006 on May 13, 2009, 10:40:22 PM ขอบคุณพี่ yongyoot ครับ เดี๋ยวผมจะลองดูครับถ้าไปผลอย่างไง จะมาบอกครับ
|