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
-
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 Xin tư vấn về mạch cầu H cho inverter 1000wbởi N.T.HIRF460 có chịu được tải 1000W công suất thực không ạ....
-
Channel: Điện tử công suất
hôm nay, 16:05 -
-
bởi chinhnguyen9Trước đây có thế hệ mạch cân bằng chủ động hoạt động theo nguyên lý so áp giữa 2 cell (hoặc 2 chuỗi) liền kề nếu điện áp này >100mV mach cận bằng sẽ được kích hoạt và sẽ dừng hoạt động cân bằng khi độ chênh điện áp giảm xuống còn 30 mV
Hiện nay có dòng sản phẩm mới gọi là cân...-
Channel: Hướng dẫn sử dụng diễn đàn
hôm nay, 07:26 -
-
Trả lời cho Hỏi về mạch công suất bị dò DCbởi vandoanĐiện áp ở A và C được ghim bởi Transistor Q8. chuyện áp ra loa + hay - là do các trans khác bị chập chập bên nào thì thay bên đó.
-
Channel: Điện thanh
20-04-2024, 12:00 -
-
bởi jigokushoujoCó anh chị nào có thể cho em 1 mạch chống ngược cực, chập mạch, khi bị chạm mạch hay ngược cực thì nó sẽ tự động ngắt nguồn,khi không còn chạm thì nó sẽ đóng nguồn lại bình thường. Em có dùng nguồn 12V 75A từ ắc quy . Em cần chụi...
-
Channel: Điện tử dành cho người mới bắt đầu
18-04-2024, 18:24 -
Comment