Nguyên văn bởi leemanhj916
Xem bài viết
Thông báo
Collapse
No announcement yet.
Giao tiếp RS232 trên PC bằng Visual Basic 6.0
Collapse
This is a sticky topic.
X
X
-
em đang làm thực tập công nhân mạch UPS ông thầy yêu cầu viết code lưu trữ dữ liệu trên máy tính. Có nghĩa là hằng ngày acquy nạp dòng áp bao nhiêu thời gian bao lâu thì em phải lưu lại trên máy tính nhưng mà em chẳng biết hướng làm là viết code kiểu chi. Dòng áp nạp có vdk 8051 lưu trữ nhưng do ROM nó nhẹ nên ông thầy bắt em lưu trên máy tính nữa. mấy anh chị giúp em với!!!
Comment
-
Mình cũng đang bí chỗ này,mong các bạn giúp đỡ.
Vi điều khiển của mình gởi lên, chương trình Terminal nhận được tốt, nhưng chương trình VB của mình không nhận được, nó báo lỗi 8020 ngay chỗ Buff = MScomm1.input (Error reading com device). Mình nghĩ đủ cách rồi vẫn chưa ra. Mong các bạn giúp đỡ cho !
Xin cám ơn nhiều !
Comment
-
e cũng lam mach thật và bị lỗi như thế này. ai có thể giúp với e sắp báo cáo rồi. !Nguyên văn bởi tienrkwlotus Xem bài viếtMình cũng đang bí chỗ này,mong các bạn giúp đỡ.
Vi điều khiển của mình gởi lên, chương trình Terminal nhận được tốt, nhưng chương trình VB của mình không nhận được, nó báo lỗi 8020 ngay chỗ Buff = MScomm1.input (Error reading com device). Mình nghĩ đủ cách rồi vẫn chưa ra. Mong các bạn giúp đỡ cho !
Xin cám ơn nhiều !
Comment
-
các anh chị cho em hỏi một chút là cần sử dụng những hàm nào để lấy dữ liệu từ cổng COM để hiển thị trên giao diện VB với ạ?
tại vì em cứ nghĩ là dữ liệu được đưa lên cổng COM thì sẽ hiển thị trực tiếp, nhưng khi em thiết lập hàm khởi tạo như thế này rồi mà khi kết nói chương trìng vẫn báo lỗi "Invalid property value" ạ:
void CCommunicationDlg::Settings()// ham thiet lap tham so cho MSComm
{
//neu cong dang mo thi dong cong de thiet lap tham so
if (m_mscomm1.get_PortOpen())
m_mscomm1.put_PortOpen(false);
// thiet lap ten cong
m_mscomm1.put_CommPort(m_cboComPort.GetCurSel()+1) ;
// thiet lap handshaking
//m_mscomm1.put_Handshaking(m_cboHandshaking.GetCurS el());
// thiet lap tan so, bit du lieu, bit stop
CString str_bitrate = getCurStrInCombobox(m_cboBitRate);
CString str_parity = getCurStrInCombobox(m_cboParityBit);
CString str_stopbit = getCurStrInCombobox(m_cboStopBit);
CString str_databit = getCurStrInCombobox(m_cboDataBit);
CString str_setting;
str_setting.Format(L"%s, %c,%s,&s", str_bitrate, str_parity[1], str_databit, str_stopbit);
m_mscomm1.put_Settings(str_setting);
m_mscomm1.put_RThreshold(1);
m_mscomm1.put_InputLen(1); //moi lan doc mot ki tu
m_mscomm1.put_InBufferSize(1024);
m_mscomm1.put_InputMode(0); // 0- text mode, 1- binary mode
m_mscomm1.put_OutBufferSize(1024);
m_mscomm1.put_PortOpen(true);
}
Comment
-
Anh Lethang85 ơi.anh có thể mail cho em với đc k?............link đó hỏng mất rồi....Mail: Baha09d2@gmail.com....thanks anh nhiều
Comment
-
mấy anh em cho mình hỏi chút. mình đang làm đồ án nhưng tới phần giao tiếp máy tính với vđk thì nó k chạy,dưới đây là code vđk và vb của mình,mấy anh em xem giúp đỡ với:
code vđk:
org 00H
jmp main
org 30h
main:
mov SCON, #52h ;Port noi tiep mode 1
mov TMOD, #20h ;Timer 1 mode 2
mov TH1,#0Fdh ;9600 baud
setb TR1
loop:
jnb RI, $ ;doi nhan du lieu
clr RI
mov A, SBUF ;lay du lieu
kt_sang_trai:
cjne A, #'a', kt_sang_phai ;neu la yeu cau sang trai
MOV P0,#11001100B
CALL DELAY_50MS
MOV P0,#0
CALL DELAY_50MS
jmp main
kt_sang_phai:
cjne A, #'d', kt_tien ;Neu la yeu cau sang phai
MOV P0,#10111011B
CALL DELAY_50MS
MOV P0,#0
CALL DELAY_50MS
jmp main
kt_tien:
cjne A, #'w', kt_lui ;Neu la yeu cau tien
MOV P0,#11101110B ;CHI QUAN TAM DEN 4 BIT THAP 1000 UNG VOI ROBOT CHAY THANG
CALL DELAY_50MS
MOV P0,#0
CALL DELAY_50MS
jmp main
kt_lui:
cjne A,#'s', kt_dung ;Neu la yeu cau lui
MOV P0,#11011101B ;LUI ROBOT
CALL DELAY_50MS
MOV P0,#0
CALL DELAY_50MS
jmp main
kt_dung: ;Neu la yeu cau dung
cjne A,#'j', kt_cam_trai
MOV P0,#10101010B;DUNG ROBOT VA QUAY CAMERA
CALL DELAY_50MS
MOV P0,#0
CALL DELAY_50MS
jmp main
kt_cam_trai:
cjne A, #'k',kt_cam_phai
MOV P0,#10011001B;DUNG ROBOT VA QUAY CAMERA
CALL DELAY_50MS
MOV P0,#0
CALL DELAY_50MS ;Neu la yeu cau quay camera sang phai
jmp main
kt_cam_phai:
cjne A, #'l',kt_bao_dong
MOV P0,#10001000B;DUNG ROBOT VA QUAY CAMERA
CALL DELAY_50MS
MOV P0,#0
CALL DELAY_50MS ;Neu la yeu cau quay camera sang phai
jmp main
kt_bao_dong:
cjne A, #'h',kt_dung
MOV P0,#01110111B;bao dong
CALL DELAY_50MS
MOV P0,#0 ;Neu la yeu cau quay camera sang phai
CALL DELAY_50MS
jmp main
DELAY_50MS:
MOV TMOD,#01H
MOV R0,#50
LOOP20:
MOV TH0,#0ECH
MOV TL0,#78H
SETB TR0
JNB TF0,$
CLR TF0
CLR TR0
DJNZ R0,LOOP20
RET
end
,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,
chương trình vb:
Public Class Form1
Private Sub Nut_thoat_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button_thoat.Click
Form2.ShowDialog()
End Sub
Private Sub HướngDẫnToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles HướngDẫnToolStripMenuItem.Click
End Sub
Private Sub ThôngTinToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ThôngTinToolStripMenuItem.Click
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If SerialPort1.IsOpen Then SerialPort1.Close()
SerialPort1.Open()
End Sub
Private Sub Button_phai_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button_phai.Click
SerialPort1.Write("d")
Label2.Text = ("Robot đang rẽ phải")
End Sub
Private Sub Button_toi_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button_toi.Click
SerialPort1.Write("w")
Label2.Text = ("Robot đang đi tới")
End Sub
Private Sub Button_trai_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button_trai.Click
SerialPort1.Write("a")
Label2.Text = ("Robot đang rẽ trái")
End Sub
Private Sub Button_dung_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button_dung.Click
SerialPort1.Write("j")
Label2.Text = ("Robot đã dừng")
End Sub
Private Sub Button_lui_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button_lui.Click
SerialPort1.Write("s")
Label2.Text = ("Robot đang đi lui")
End Sub
Private Sub Form1_FormClosed(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles MyBase.FormClosed
If (SerialPort1.IsOpen) Then SerialPort1.Close()
End Sub
Private Sub TớiToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TớiToolStripMenuItem.Click
SerialPort1.Write("w")
Label2.Text = ("Robot đang đi tới")
End Sub
Private Sub LuiToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LuiToolStripMenuItem.Click
SerialPort1.Write("s")
Label2.Text = ("Robot đang đi lui")
End Sub
Private Sub PhảiToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PhảiToolStripMenuItem.Click
SerialPort1.Write("d")
Label2.Text = ("Robot đang rẽ phải")
End Sub
Private Sub TráiToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TráiToolStripMenuItem.Click
SerialPort1.Write("a")
Label2.Text = ("Robot đang rẽ trái")
End Sub
Private Sub DừngToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DừngToolStripMenuItem.Click
SerialPort1.Write("j")
Label2.Text = ("Robot đã dừng")
End Sub
Private Sub ThôngTinToolStripMenuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ThôngTinToolStripMenuItem1.Click
MsgBox(" Chương trình điều khiển từ xa phiên bản 1.0 này là Đồ án môn học Hệ thống Cơ điện tử, do sinh viên Nguyễn Quốc Vũ - lớp 06CDT2 - ngành Cơ Điện Tử - Trường Đại Học Bách Khoa Đà Nẵng viết. ")
End Sub
Private Sub CáchĐiềuKhiểnToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CáchĐiềuKhiểnToolStripMenuItem.Click
MsgBox(" Bạn có thể điều khiển Robot bằng bàn phím trên máy tính: Ctrl + W: đi tới ; Ctrl + S: đi lui; Ctrl + A: sang trái ; Ctrl + D: sang phải ; Cltr + J: dừng ; Cltr + K: Camera quay trái ; Cltr + L: Camera quay phải")
End Sub
Private Sub PhôngNềnToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PhôngNềnToolStripMenuItem.Click
ColorDialog1.ShowDialog()
Me.BackColor = ColorDialog1.Color
End Sub
Private Sub MàuNútNhấnToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MàuNútNhấnToolStripMenuItem.Click
ColorDialog1.ShowDialog()
Button_cam_phai.BackColor = ColorDialog1.Color
Button_cam_trai.BackColor = ColorDialog1.Color
Button_trai.BackColor = ColorDialog1.Color
Button_phai.BackColor = ColorDialog1.Color
Button_toi.BackColor = ColorDialog1.Color
Button_lui.BackColor = ColorDialog1.Color
Button_dung.BackColor = ColorDialog1.Color
Button_thoat.BackColor = ColorDialog1.Color
End Sub
Private Sub Button_cam_trai_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button_cam_trai.Click
SerialPort1.Write("k")
Label2.Text = ("Camera đang quay trái")
End Sub
Private Sub Button_cam_phai_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button_cam_phai.Click
SerialPort1.Write("l")
Label2.Text = ("Camera đang quay phải")
End Sub
Private Sub CameraTráiToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CameraTráiToolStripMenuItem.Click
SerialPort1.Write("k")
Label2.Text = ("Camera đang quay trái")
End Sub
Private Sub CameraPhảiToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CameraPhảiToolStripMenuItem.Click
SerialPort1.Write("l")
Label2.Text = ("Camera đang quay phải")
End Sub
End Class
Public Class Form2
Private Sub Label1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label1.Click
End Sub
Private Sub Nut_khong_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Nut_khong.Click
Me.Close()
End Sub
Private Sub Nut_co_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Nut_co.Click
End
End Sub
Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Beep()
End Sub
End Class
mong mấy bác giúp đỡ dùm,mình còn mấy ngày nữa là bảo vệ r

Comment
Bài viết mới nhất
Collapse
-
Trả lời cho Cấu hình chiến game "quốc dân" cho nền tảng AM5: Lựa chọn tối ưu ngân sách với Ryzen 5 7500Fbởi kumarbrMình đồng ý với hướng build AM5 bằng 7500F, nhưng nếu có thể cố thêm ngân sách thì nên lên RX 7600 ngay từ đầu. 4GB VRAM của RX 6500 XT bắt đầu khá chật với nhiều game mới, còn RX 7600 sẽ dùng thoải mái hơn trong vài năm tới.
-
Channel: Đánh giá sản phẩm DTVN
Hôm qua, 15:49 -
-
bởi theidiotcatTrong thời buổi vật giá leo thang, việc sắm một bộ máy tính chơi game đáp ứng đủ tiêu chí "ngon, bổ, rẻ" là ưu tiên hàng đầu của nhiều bạn trẻ. Lúc này, combo sử dụng vi xử lý AMD Ryzen 5 7500F kết hợp cùng card màn hình Radeon...
-
Channel: Đánh giá sản phẩm DTVN
Hôm qua, 10:16 -
-
bởi theidiotcatAMD Ryzen 9 9950X3D không chỉ là một bộ vi xử lý đơn thuần; nó là lời khẳng định về sức mạnh của kiến trúc Zen 5 kết hợp cùng công nghệ 3D V-Cache đột phá. Trong bối cảnh thị trường linh kiện PC cạnh tranh khốc liệt, đây được xem...
-
Channel: Đánh giá sản phẩm DTVN
15-06-2026, 09:21 -
-
bởi theidiotcatBộ đôi Ryzen 9 9950X3D2 và Radeon RX 9070 XT 16GB là sự kết hợp phần cứng cao cấp nhất của AMD hiện nay. Đây không chỉ là một dàn máy tính để giải trí thông thường, mà là công cụ làm việc mạnh mẽ dành cho những ai có nhu cầu xử lý cường...
-
Channel: Đánh giá sản phẩm DTVN
15-06-2026, 09:09 -
-
bởi theidiotcatKhi ráp một bộ máy tính cấu hình cao, việc cân đối ngân sách cho từng linh kiện là rất quan trọng. Sự kết hợp giữa vi xử lý AMD Ryzen thế hệ mới có công nghệ 3D V-Cache và card đồ họa Radeon RX 9070 XT đang là lựa chọn rất đáng tiền....
-
Channel: Đánh giá sản phẩm DTVN
11-06-2026, 10:43 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi dinhthuong92Giới thiệu bản nhạc đệm mới nhộn nhịp tươi vui, nghe là muốn... xuất gia đi tu liền!!!!😁...
-
Channel: Tâm tình dân kỹ thuật
11-06-2026, 09:51 -

Comment