TOPBBOY2006
Jr. Member
Offline
Posts: 14
|
|
« 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 ว่าเราควรเขียนรับค่าแบบไหนดีครับหรือมีวิธีไหนบ้างครับที่เราจะสามารถรับข้อมูลได้ไวกว่านี้ครับ (มือใหม่ครับ)
|
|
|
Logged
|
|
|
|
smitdh
Administrator
Hero Member
Offline
Gender:
Posts: 381
อาจารย์ที่ปรึกษา
|
|
« Reply #1 on: May 12, 2009, 11:37:15 PM » |
|
แล้วลอง test กับพวก Hyperterminal ได้แล้วหรือยังครับ ผมไม่ได้เล่น VB ซะด้วย
ใครเคยเล่นช่วยหน่อยครับ
|
|
|
Logged
|
|
|
|
TOPBBOY2006
Jr. Member
Offline
Posts: 14
|
|
« Reply #2 on: May 13, 2009, 07:03:41 AM » |
|
ผมลองทดลอง ติดต่อกับ Hyperterminal แล้วครับ ไม่มีปัญหาเลยครับ
|
|
|
Logged
|
|
|
|
HD_EE09
|
|
« Reply #3 on: May 13, 2009, 10:47:18 AM » |
|
ผมเคยทำนะครับ แต่ผมไม่แน่ใจว่าความเร็วหรือช้ามันจะต่างกัน แบบใหนครับ
หลักการก็คือส่ง "\n" ไปพร้อมกับ "%d" เช่น printf("%d \n",dat);
แล้วให้ทาง VB เช็คว่าได้รับ "\n" หรือยัง
ถ้าได้รับแล้วแสดงว่าข้อมูลที่ส่งไปนั้นครบแล้วครับ จากนั้นก็รอรับข้อมูลชุดต่อไป
ถ้าใช้วิธีนี้ข้อมูลไม่น่าพลาดนะครับ แต่เรื่องความเร็วต้องลองดูครับ ได้ผลยังไงก็บอกด้วยนะครับ เผื่อมีอะไรช่วย
ได้ครับ
|
|
|
Logged
|
|
|
|
TOPBBOY2006
Jr. Member
Offline
Posts: 14
|
|
« Reply #4 on: May 13, 2009, 10:40:22 PM » |
|
ขอบคุณพี่ yongyoot ครับ เดี๋ยวผมจะลองดูครับถ้าไปผลอย่างไง จะมาบอกครับ
|
|
|
Logged
|
|
|
|
|