PDA

View Full Version : Cần giúp đỡ về Đồ thị teechart 7.0


khangfet
30-03-2012, 09:55 AM
Mình đang làm 1 bài tập về truyền nhận, xuất tín hiệu ADC lên VB. Mình làm được rồi nhưng còn phần đồ thị thì mình vẽ gặp sự cố
http://i181.photobucket.com/albums/x280/hieunhoc/aaa.jpg

Code VB của mình:
Dim KETNOI As Integer
Dim adc As String
Dim Timer As Long
Private Sub cmdclear_Click()
txtadc.Text = ""
txtdien_ap.Text = ""
TChart1.Series(0).Clear
End Sub
Private Sub cmdConnect_Click()
Dim comport As Integer
Dim baudrate As String
'===========================
If cmbcom.Text = "" Then
MsgBox " BAN CHUA CHON CONG COM.", vbExclamation + vbOKOnly
Else
comport = cmbcom.ListIndex + 1
End If
If cmbbaud.Text = "" Then
MsgBox " BAN CHUA CHON TOC DO BAUD.", vbExclamation + vbOKOnly
End If
If MSComm1.PortOpen = False Then
With MSComm1
.CommPort = cmbcom.ListIndex + 1
.Settings = cmbbaud.Text
.RThreshold = 1
.InputMode = comInputModeText
.InBufferCount = 0
.PortOpen = True
End With
End If
'=======================
Label4.BackColor = vbRed
Label3.Caption = "ON" & ""
Label3.BackColor = vbRed
Label3.ForeColor = vbBlack
KETNOI = 1
'End If
End Sub
Private Sub cmdexit_Click()
End
End Sub
Private Sub cmdInconnect_Click()
If MSComm1.PortOpen = True Then
MSComm1.PortOpen = False
'==============================
Label4.BackColor = &H404040
Label3.BackColor = &H404040
Label3.Caption = " " & "OFF"
Label3.ForeColor = vbRed
KETNOI = 0
End If
End Sub
Private Sub cmdstart_Click()
Timer = 1
If KETNOI = 1 Then
If MSComm1.PortOpen = True Then MSComm1.Output = "1"
Else
MsgBox "KIEM TRA LAI KET NOI", vbQuestion + vbOKOnly
End If
Timer1.Enabled = True
With TChart1.Series(0)
.AddXY Timer * 10, Val(txtdien_ap), "", vbRed
End With
End Sub
Private Sub cmdstop_Click()
MSComm1.Output = "0"

End Sub
Private Sub Form_Load()
txtadc.Text = ""
txtdien_ap.Text = ""
TChart1.Series(0).Clear
End Sub
Private Sub MSComm1_OnComm()
Dim giatri As String
Dim STRINGIN As String
Dim buffer As String
If MSComm1.CommEvent = comEvReceive Then
STRINGIN = MSComm1.Input
giatri = Asc(STRINGIN)
txtadc.Text = giatri
buffer = Val(txtadc) * 5 / 256
txtdien_ap.Text = buffer
With TChart1.Series(0)
.AddXY Timer1 * 10, Val(txtdien_ap), "", vbRed
End With

End If

End Sub
Private Sub Timer1_Timer()
Timer = Timer1 + 1
'Timer.Enabled = True
End Sub

P/s:Và cho mình hỏi thêm giờ mình muốn truyền 5byte thì phải làm sao . Cái đó là điểm + trong bài tập của mình

duytung125
11-04-2012, 04:37 PM
em đang làm điều khiển động cơ và cũng muốn vẽ đồ thị như anh.cho em hỏi nếu mà mình muốn truyền bản tin từ pic lên bao gồm các thông số ví dụ như vận tốc đăt, vận tốc thực tế, chế độ... thì tạo bản tin gửi như thế nào. Em chỉ biết là trong ccs có hàm ví dụ như printrf. em muốn truyền bản tin lên như sau printf("%u_%u_%u",vantocdat,chedo,vantoctt) báo lỗi. hàm này chỉ cho truyền lên một biến thì phải. Mong các anh giúp với. Thân