![]() |
|
Tài trợ cho PIC Vietnam |
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 |
|
![]() |
#1 |
Nhập môn đệ tử
Tham gia ngày: Nov 2009
Bài gửi: 3
: |
Chào anh Bắc!Em đang làm đồ án TN về bảng báo giá ngoại tệ.Giao diện VB em đã làm OK nhận đc dữ liệu từ Internet về rồi.Nhưng phần giao tiếp với VXL thì chưa làm đc.Dữ liệu truyền đc qua RS232 nhưng không hiểu sao không hiển thị ra Led 7 đoạn đc.Anh có mẹo gì ko chỉ em với^^.Nếu đc anh cho em xin nick yahoo của anh để em có thể hỏi kĩ hơn nha.Thanks!
|
![]() |
![]() |
![]() |
#2 |
Nhập môn đệ tử
Tham gia ngày: Jun 2010
Bài gửi: 7
: |
-Giúp mình Gửi dữ liệu dạng BINARY trong VB6 với !
-Em muốn gửi dữ liệu xuống VDK từ VB6 dạng binary nhưng send thì toàn bị lỗi cả,có ai bít giúp em với : Private Sub Command2_Click() On Error GoTo connectfalse If MSComm1.PortOpen = False Then MSComm1.PortOpen = True End If Exit Sub connectfalse: MsgBox "Loi Connect" End Sub Private Sub Command1_Click() On Error GoTo sendfalse Dim BytesToSend(0) As Byte Dim Buffer As Variant BytesToSend(0) = &H4A Buffer = BytesToSend(0) Text3.Text = Buffer MSComm1.Output = Buffer Exit Sub sendfalse: MsgBox "Loi Send" End Sub Private Sub Form_Load() With MSComm1 .Settings = "9600,N,8,1" .RThreshold = 2 .SThreshold = 0 .InBufferSize = 1024 .OutBufferSize = 1024 .InputMode = comInputModeBinary .ParityReplace = "" .CommPort = 1 End With End Sub Private Sub MSComm1_OnComm() Dim BytesReceived(0) As Byte Dim Buffer As Variant If MSComm1.CommEvent = comEvReceive Then Buffer = MSComm1.Input BytesReceived(0) = Buffer Text2.Text = BytesReceived(0) End If End Sub |
![]() |
![]() |
![]() |
#3 |
Nhập môn đệ tử
Tham gia ngày: Oct 2009
Bài gửi: 4
: |
anh bac ah,em dang lam quang bao giao tiep voi may tinh. anh cho em hoi la neu tren vb minh danh chu a, va tao ma led de truyen xuong pic thi duoi pic co can ma led chu a nua khong, no co so sanh voi data truyen tu pc xuong khong.em chi truyen mot chieu tu pc xuong pic thoi.
mong hoi am cua anh. cam on anh nhieu |
![]() |
![]() |
![]() |
#4 |
Nhập môn đệ tử
Tham gia ngày: May 2010
Bài gửi: 1
: |
các bác cho em hoi tý
em đang làm về phần truyền thông con pic 16F877A với máy tính nhưng không rõ lắm về cổng truyền thông của nó lắm có phải là 2 chân 25 và 26 của nó không akj |
![]() |
![]() |
![]() |
#5 |
Đệ tử 1 túi
Tham gia ngày: Oct 2008
Bài gửi: 19
: |
Pic 16F877A giao tiếp port nối tiếp thông qua 2 chân C6 và C7. Mính cũng có 1 số đề tài giao tiếp gia Pic 16F877a với máy tính.If cai cần thì liên hệ.nick:hoangdtvt07b@yahoo.com.vn
|
![]() |
![]() |
![]() |
#6 |
Nhập môn đệ tử
Tham gia ngày: Mar 2010
Bài gửi: 1
: |
Mọi người cho e hỏi tí!
Hiện tại e đang làm đồ án tốt nghiệp về đề tài truyền thông sử dụng vdk PSoC, trong đó có phần xây dựng giao diện truyền thông giữa PSoC và PC thông qua RS232. E dùng VC++ để làm, e cũng có tham khảo tutorial của a Bắc và đã xây dựng được cơ bản vấn đề truyền nhận đơn giản. Bây giờ e muốn hiển thị chuỗi nhận được trên giao diện ở dạng hex và cả dạng string, nhưng ko biết làm thế nào để chuyển string nhận sang kiểu hex. Vậy mong các bác chỉ bảo e với. |
![]() |
![]() |
![]() |
#7 |
Đệ tử 1 túi
Tham gia ngày: Nov 2008
Bài gửi: 14
: |
có bác nào bit giao tiếp RS232 trên PC bằng visual C chỉ em với
|
![]() |
![]() |
![]() |
#8 |
Nhập môn đệ tử
Tham gia ngày: Sep 2009
Bài gửi: 2
: |
@killua: tui góp ý bạn 1 chỗ, hình như ở mấy trang đầu anh Bắc có nói rồi thì phải:
Private Sub Command1_Click() On Error GoTo sendfalse Dim BytesToSend() As Byte Dim Buffer As Variant BytesToSend(0) = &H4A BytesToSend(1) = &H01 Buffer = BytesToSend() MSComm1.Output = Buffer Hoặc: Private Sub Command1_Click() Dim Buffer As Variant Buffer = Text3.Text MSComm1.Output = Buffer Cái này có vẻ nhanh hơn... hổng biết đúng hông nữa ![]() ![]() |
![]() |
![]() |
![]() |
#9 |
Đệ tử 1 túi
Tham gia ngày: Feb 2010
Bài gửi: 13
: |
Mọi người xem giúp, đoạn code C viết cho PIC 16F877a gửi dữ liệu lên PC & gửi từ PC về VDK mình làm hoài mà không chạy. Lúc nạp hay bị báo lỗi nữa chứ.
Đây là đoạn code gửi dữ liệu từ VDK lên PC, code trên PC mình lấy từ mấy bài hướng dẫn trên forum. Mà vẫn không thấy động tĩnh gì cả. Rồi từ PC gửi xuống cũng vậy. Code:
#include <16f877a.h> #use delay (clock=20000000) #use rs232(baud=9600,parity=n,xmit=PIN_C6,rcv=PIN_C7) #byte portb=0x06 #byte trisb=0x86 #byte portc=0x07 #byte trisc=0x87 void main() { trisb=0; while(true) { portb = 0x00; putc(0x00); delay_ms(100); portb = 0xff; putc(0xff); delay_ms(100); } } Code trên PC: Code:
Private Sub cmdClear_Click() Text1.Text = "" End Sub Private Sub cmdExit_Click() Unload Me End Sub Private Sub cmdSend_Click() MSComm1.Output = Text2.Text End Sub Private Sub Form_Load() cmdSend.Caption = "&Send" Text1.Text = "" Text2.Text = "" Text1.Enabled = False cmdExit.Caption = "&Exit" With MSComm1 .Settings = "9600,N,8,1" .CommPort = 4 .RThreshold = 1 .SThreshold = 0 .InputMode = comInputModeText .InputLen = 0 .Handshaking = comNone .InBufferSize = 1024 .OutBufferSize = 1024 If .PortOpen = False Then .PortOpen = True End If End With End Sub Private Sub MSComm1_OnComm() Dim Buffer As Variant If MSComm1.CommEvent = comEvReceive Then Text1.Text = Text1.Text + MSComm1.Input End If End Sub |
![]() |
![]() |
![]() |
#10 |
Nhập môn đệ tử
Tham gia ngày: Dec 2010
Bài gửi: 1
: |
kính chào các bác trên diễn đàn
em mới nhập môn,nên em không biết làm thế nào để VB nhận 1 kí tự và hiển thị kí tự đó dưới dạng số thập phân.từ 8051 em truyền lên 0x31,đáng lẽ VB nhận và hiển thị số 1 trong txtnhan.text =1;nhưng mà nó cứ hiện cái j đâu ấy,em cấu hình mscoom1.inputmode=0 tức là Ascci ,vậy có bác nào biết thì chỉ giáo cho em vài đường |
![]() |
![]() |
![]() |
#11 |
Đệ tử 6 túi
Tham gia ngày: Apr 2009
Bài gửi: 132
: |
các bác ơi, bác nào biết là tại sao em truyền dừ liệu từ pic lên máy tính thì em chỉ truyền được tới 255 thôi, 256 là nó sai bét.....em truyền số 999 nó hiển thị thành số 231, số 998 nó lại hiện thành 230, nhưng số 1000 thì nó lại hiển thị đíng 1000. chả hiểu cái quái gì chỗ này cả. em đã tách từng số ra trong chuỗi rồi em mơi truyền lên máy tính, bác nào biét chỉ em cách xử lí cái chỗ này với, hic
|
![]() |
![]() |
![]() |
#12 | |
Đệ tử 7 túi
Tham gia ngày: May 2005
Bài gửi: 258
: |
Trích:
__________________
viết chương trình cho vdk chạy ổn định là cả một vấn đề. |
|
![]() |
![]() |
![]() |
#13 |
Đệ tử 6 túi
Tham gia ngày: Feb 2011
Bài gửi: 156
: |
Cũng lạ nhỉ? Bạn nên gửi code lên để mọi người cùng xem chứ?
|
![]() |
![]() |
![]() |
#14 |
Nhập môn đệ tử
Tham gia ngày: Jan 2011
Bài gửi: 7
: |
Em đang làm về Đếm và phân loại SP trắng và đen Giao tiếp PIC 16F877A voi PC sử dụng VB. Em đã truyền được dữ liệu lên PC nhưng hiển thị không đúng ,xin mấy huynh chỉ em hướng giải quyết. Đây là file gồm Chương trình , mô phỏng bàng proteus và VB. http://www.mediafire.com/?195d8sza5tcjubg
Huynh nào rảnh xem và chỉ em hướng giải quyết Mail của em : vuhoan_vu@yahoo.com |
![]() |
![]() |
![]() |
#15 | |
Nhập môn đệ tử
Tham gia ngày: Oct 2011
Bài gửi: 1
: |
Trích:
Option Explicit Dim Send_Data As String Dim ket_noi As Integer Dim Hbyte As Integer Dim Lbyte As Integer Dim arr() As Byte Private Sub cmdclear_Click() Text1.Text = "" Text2.Text = "" End Sub Private Sub cmdClose_Click() Unload Me End Sub Private Sub Form_Load() 'If MSComm1.PortOpen Then MSComm1.PortOpen = False 'With MSComm1 '.CommPort = 1 '.Settings = "9600,n,8,1" '.RThreshold = 3 'so byte truyen '.PortOpen = True 'End With If MSComm1.PortOpen Then MSComm1.PortOpen = False MSComm1.CommPort = 1 MSComm1.Settings = "9600,n,8,1" MSComm1.RThreshold = 3 MSComm1.InputMode = comInputModeBinary MSComm1.InBufferCount = 0 MSComm1.PortOpen = True Text1.Text = "" Text2.Text = "" End Sub Private Sub cmdSend_Click() Send_Data = Trim(Text1.Text) Hbyte = Send_Data \ 256 Lbyte = Send_Data Mod 256 MSComm1.Output = Chr(Hbyte) & Chr(Lbyte) & Chr$(13) 'MSComm1.Output = Send_Data & Chr$(13) End Sub Private Sub MSComm1_OnComm() If MSComm1.CommEvent = comEvReceive Then Dim rcv If MSComm1.CommEvent = comEvReceive Then arr() = MSComm1.Input 'If (arr(2) = 255) Then Text2.Text = arr(0) * 256 + arr(1) 'End If End If End If End Sub |
|
![]() |
![]() |
![]() |
Tags |
forms!nhap!vao = x |
Ðiều Chỉnh | |
Xếp Bài | |
|
|
![]() |
||||
Ðề tài | Người gửi | Chuyên mục | Trả lời | Bài mới |
Giao tiếp RS232 trên PC | ngohaibac | Giao tiếp cổng COM và LPT | 193 | 18-02-2025 09:11 AM |
Cho hỏi về giao tiếp RS232 của PIC16F877A | enti | Giao tiếp cổng COM và LPT | 31 | 25-03-2016 10:14 PM |
Giao tiếp RS232 trên PC qua Matlab | ngohaibac | Giao tiếp cổng COM và LPT | 47 | 18-11-2015 03:51 PM |
cần mua bộ thu GPS có giao tiếp RS232 | kienvq | Tìm mua sản phẩm | 15 | 17-03-2011 11:25 PM |
Help! Dùng C để giao tiếp RS232 | dandiennang | Các ngôn ngữ lập trình khác (CCS C, HT PIC,...) | 6 | 15-03-2009 06:41 PM |