PIC Vietnam

Go Back   PIC Vietnam > Truyền thông > Giao tiếp cổng COM và LPT

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Bài Trong Ngày Vi điều khiển

Giao tiếp cổng COM và LPT RS232, RS485 và LPT là những giao tiếp cơ bản và kinh điển khi mới học về vi điều khiển...

 
 
Ðiều Chỉnh Xếp Bài
Prev Previous Post   Next Post Next
Old 26-02-2009, 09:35 PM   #1
tcoi001
Nhập môn đệ tử
 
Tham gia ngày: Jan 2009
Bài gửi: 2
:
Help me!!Bác nào cao thủ giúp em cái giao tiếp giữa hai máy tính qua cổng com

Bác nào cao thủ giúp em với.
Em đang làm đề tài về truyền thông giữa hai máy tính qua cổng Com.Yêu cầu truyền kí tự và truyền file,giao diện tiếng việt.Em thử chạy chương trình bằng cách nối chân 2 và 3 của 1 máy tính lại để kiểm tra.Sau khi tìm kiếm và ngâm cứu code trên mạng em đã làm được phần truyền kí tự còn phần truyền file thì mắc phải 1 vấn đề là:file sau khi truyền rồi save lại thì khi mở file đã save ra thì file này không có dữ liệu.Bác nào biết lỗi hay thiếu xót ở đâu xin chỉ giáo dùm em.Em xin gửi code ở dưới đây để các bác dễ bề xem xét.

CODE

Private Sub Command1_Click()
On Error GoTo OpenFalse
If MSComm1.PortOpen = False Then 'PortOpen=true: mo cong;false :dong cong
MSComm1.PortOpen = True
End If
Exit Sub
OpenFalse:
MsgBox Err.Description & vbLf + vbCr + "Loi, khong the mo cong. Hay dong cac ung dung dang su dung cong COM"

End Sub

Private Sub Command2_Click()
If MSComm1.PortOpen = True Then 'co cung duoc ko cung ko sao
MSComm1.PortOpen = False
End If
End
End Sub

Private Sub Command3_Click()
On Error GoTo sendfalse
MSComm1.Output = Trim(Text1.Text)
Text1.Text = ""
Exit Sub
sendfalse:
MsgBox "Loi, Cong COM chua duoc mo"
End Sub

Private Sub Command4_Click()
Text2.Text = ""
End Sub

Private Sub Command5_Click()
Cdlg.DialogTitle = "Send file..."
Cdlg.Filter = "Textfile (*.TXT)|*.txt|All Files (*.*)|*.*"
Cdlg.InitDir = App.Path
Cdlg.FileName = ""
Cdlg.ShowOpen
Text1.Text = Cdlg.FileName
Label1.Caption = Str(Round(FileLen(Text1.Text) / 1024, 2)) + "KB"
Exit Sub
Loi:
Label1.Caption = "0 KB"
Text1.Text = ""
Text2.Text = "Da truyen file qua cong COM1 thanh cong"
' goi ham truyen file
If Cdlg.FileName <> "" Then SendFile (Cdlg.FileName)
End Sub

Private Sub Command6_Click()
FileReceive = FreeFile
ReceiveFlag = True
Timer1.Enabled = False
Do
Cdlg.FileName = ""
Cdlg.ShowSave
If Trim(Cdlg.FileName) = "" Then
MsgBox "File name error!!"
End If
Loop While Trim(Cdlg.FileName) = ""
Text2.Text = Cdlg.FileName
MSComm1.Output = "RECEIVE" + vbCr
Open Trim(Text2.Text) For Output As FileReceive
End Sub

Private Sub Form_Load()
With MSComm1
.Settings = "9600,N,8,1"
.RThreshold = 1 'su kien OnComm xay ra khi bat kì kí tu nào duoc chuyen den bo dem nhan.
.Handshaking = comNone
.SThreshold = 0
.InBufferSize = 1024
.OutBufferSize = 1024
.InputMode = comInputModeText 'quyet dinh dang du lieu nhan duoc la dang text
.InputLen = 0
.CommPort = 1 'thiêt lâp và tra vê tên cua công giao tiêp la cong COM1
End With
End Sub

Private Sub MSComm1_OnComm()
If (MSComm1.CommEvent = comEvReceive) Then
Text2.Text = Text2.Text + MSComm1.Input
End If
End Sub
' ham truyen File
Function SendFile(tmp$)
Dim temp$
Dim hsend, bsize, LF&

' mo file
Open tmp$ For Binary Access Read As #2
' kiem tra kich thuoc Mscomm1 OutBuffer
bsize = MSComm1.OutBufferSize
' kiem tra kich thuoc File
LF& = LOF(2)

' code nay se chia du lieu thanh nhung fan nho(Buffer sized)
' va gui chung di

Do Until EOF(2)

If LF& - Loc(2) <= bsize Then
bsize = LF& - Loc(2) + 1
End If

' tao vung chua du lieu
temp$ = Space$(bsize)

' dat du lieu vao bien Temp$ dang string
Get #2, , temp$

MSComm1.Output = temp$

Do
ret = DoEvents()
' cho den khi buffer trong
Loop Until MSComm1.OutBufferCount = 0
Loop

' dong file
Close #2

End Function

Em viết có hơi dài dòng là do em chưa có kinh nghiệm máy tính nên không biết gửi hẳn file bài lập trình bằng VB của mình.Mong các bác thông cảm.Mong sớm nhận được sự giúp đỡ của các bác.Các bác có thể gửi tài liệu giúp đỡ vào mail:"truongtrung8730@yahoo.com.vn"
Thân!
Hình Kèm Theo
File Type: jpg giao dien.JPG (69.7 KB, 55 lần tải)
tcoi001 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
 


Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến


Múi giờ GMT. Hiện tại là 09:53 PM.


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam