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...

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 12-09-2010, 07:12 PM   #106
buitung31051989
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
buitung31051989 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 21-09-2010, 03:19 PM   #107
newboystylew
Đệ 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
newboystylew vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 23-09-2010, 12:12 PM   #108
hoanglongvnu
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.
hoanglongvnu vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 27-09-2010, 04:48 PM   #109
killua142
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
killua142 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 27-09-2010, 11:20 PM   #110
ltn138
Đệ 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
ltn138 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 03-11-2010, 09:58 AM   #111
minhbien
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 , hình như dữ liệu truyền đi phải là kiểu mảng hoặc ký tự thì phải... còn Variant là all type
minhbien vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 22-11-2010, 08:11 AM   #112
TheHouse
Đệ 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
Vừa chạy thực tế, vừa chạy trên mô phỏng, nên mình có chuyển đổi qua lại giữa COM 4 & COM 1
TheHouse vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 30-12-2010, 08:58 AM   #113
toilatoi000
Nhập môn đệ tử
 
Tham gia ngày: Dec 2010
Bài gửi: 1
:
Mình bị lỗi thế này khi mỡ file của anh hải có bạn nào bit cách hướng dẫn giúp mình thiết lập với. cám ơn nhiều lắm.

toilatoi000 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 13-04-2011, 12:08 AM   #114
stupid11
Đệ tử 6 túi
 
stupid11's Avatar
 
Tham gia ngày: Dec 2009
Nơi Cư Ngụ: TP.Hồ Chí Minh
Bài gửi: 133
:
Send a message via Yahoo to stupid11
anh Bắc cho em hỏi thời gian để pic truyền xong 1 byte dữ liệu là bao nhiêu..nếu tốc độ baud=9600 và công thức tính như thế nào ạ...Vì em đang làm truyền thông qua RS-485 nên phải tính kỹ thời gian này để đổi hướng MAX-485..nếu không thì đang truyền mà mình đổi hướng sang nhận thì sẽ xảy ra tình trạng mất data.
stupid11 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 16-04-2011, 01:37 PM   #115
stupid11
Đệ tử 6 túi
 
stupid11's Avatar
 
Tham gia ngày: Dec 2009
Nơi Cư Ngụ: TP.Hồ Chí Minh
Bài gửi: 133
:
Send a message via Yahoo to stupid11
TEST truyền thông UART qua cổng com ẢO

Mình vừa viết xong chương trình giao tiếp với VB qua cổng COM ảo và Proteus bạn nào hứng thú với chương trình này thì mình sẽ hướng dẫn.

đây là clip mô phỏng.Các bạn xem qua.
File Kèm Theo
File Type: rar test.rar (282.1 KB, 794 lần tải)
stupid11 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 26-05-2011, 10:57 AM   #116
c4dt1
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
c4dt1 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 16-07-2011, 01:34 AM   #117
hangocminh1989
Đệ 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
hangocminh1989 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 17-07-2011, 02:37 AM   #118
hein_ts
Đệ 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ứ?
hein_ts vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 17-07-2011, 03:17 PM   #119
tranbahung80
Đệ tử 1 túi
 
Tham gia ngày: Jan 2007
Bài gửi: 22
:
SỬA CHỮA ... thiết bị công nghiệp

Chào tất cả mọi người!
Ngày sưa mình làm về VĐK, điện tử cơ bản nhiều. Nhưng lay đã bỏ sang làm điện công nghiệp, nói chung là sửa mọi thứ cả công ty và sửa thuê.
Mình cũng đac thử một số thiết bị công nghiệp được thay thế bằng VĐk để làm nhưng không hiệu quả vì giá thành cao.
Anh em lào mà làm điện tử để biết thì không sao.. nhưng để cạnh tranh thì phải có hệ thống... Ít nhất như Addmin Bình Anh thì mới ổn một là dòng sản phẩm mới hai là độc chiếm một lãnh vực nào...
Cũng như mình phải nói sau 2,5 năm làm trong ngành gạch Ceramic thì độc chiếm về dòng máy Phân loại SACMI, LÒ NUNG CÁC HÃNG, MÁY ÉP CỦA SACMI loại chạy máy vi tính.
Thì cũng khá dù còn làm điện tử thấy kém quá.
Hi vọnh một ngày gần đay mình sẽ Pot các bài ví dụ về Pic16f877A, mình có ý là những ai daoloatd thì ủng hộ vào quỹ nào đó....vd chất độc da cam ..
Hi vong cửa mình sẽ thành hiện thực.
__________________
Chuyên sửa các thiết bị công nghiệp-Phân loại Sacmi-Lò nung-máy ép... Sách hướng dãn PIC 16F877A -DĐ 0972.404.298
tranbahung80 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 18-07-2011, 10:23 AM   #120
tdm
Đệ tử 7 túi
 
Tham gia ngày: May 2005
Bài gửi: 258
:
Trích:
Nguyên văn bởi hangocminh1989 View Post
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
bạn khai báo biến chứa giá trị 999 là biến 8bit hay 16bit.
__________________
viết chương trình cho vdk chạy ổn định là cả một vấn đề.
tdm vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Trả lời

Tags
forms!nhap!vao = x


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

Similar Threads
Ðề 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 189 08-05-2024 08:10 PM
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


Múi giờ GMT. Hiện tại là 03:58 AM.


Đượ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