![]() |
|
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: Apr 2008
Bài gửi: 2
: |
Chào mọi người,mình mới bắt đầu học con 8051,mình làm theo TUT của anh ngohaibac,nhưng mình ko có code và sơ đồ mạch để truyền dữ liệu từ 8051 lên PC,bác nào giúp mình với hay mail cho minh theo địa chỉ : nguythachun@gmail.com
...thanks!!! |
![]() |
![]() |
![]() |
#2 |
Nhập môn đệ tử
Tham gia ngày: Sep 2008
Bài gửi: 1
: |
cam on mấy bác, để em về đọc đã có gì thắc mắc hôm sau em sẻ hỏi mấy bác
|
![]() |
![]() |
![]() |
#3 |
Nhập môn đệ tử
Tham gia ngày: May 2008
Bài gửi: 1
: |
Cám ơn
E cảm ơn a Bắc rất nhiều!
|
![]() |
![]() |
![]() |
#4 |
Nhập môn đệ tử
Tham gia ngày: Jan 2009
Bài gửi: 2
: |
Mình cũng đang muốn viết một phần mềm truyền thông giữa hai máy tính:có thể gửi các byte đơn (kí tự) hoặc là file text qua cho nhau dùng VB 6.0
Mình cũng mới học VB nên chưa biết nhiều. Tìm kếm trên mạng thì được đoạn code này code:truyền kí tự Code:
Private Sub cmdClear_Click() Text1.Text = "" Text2.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 = 1 .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 code: truyền file text Private Sub Command1_Click() Cdlg.DialogTitle = "Send file..." Cdlg.Filter = "Textfile (*.TXT)|*.txt|All Files (*.*)|*.*" Cdlg.InitDir = App.Path Cdlg.FileName = "" Cdlg.ShowOpen ' The Function Call If Cdlg.FileName <> "" Then SendFile (Cdlg.FileName) End Sub Private Sub Form_Load() ' Opens the selected com port MSComm1.CommPort = 1 MSComm1.PortOpen = True End Sub ' here is the function Function SendFile(tmp$) Dim temp$ Dim hsend, bsize, LF& ' Open file Open tmp$ For Binary Access Read As #2 ' Check size on Mscomm1 OutBuffer bsize = MSComm1.OutBufferSize ' Check file length LF& = LOF(2) ' This code makes tiny pieces of data (Buffer sized) ' And send's it Do Until EOF(2) If LF& - Loc(2) <= bsize Then bsize = LF& - Loc(2) + 1 End If ' Make room for some data temp$ = Space$(bsize) ' Put the data piece in the Temp$ string Get #2, , temp$ MSComm1.Output = temp$ Do ret = DoEvents() ' Wait until the buffer is empty Loop Until MSComm1.OutBufferCount = 0 Loop ' close file Close #2 End Function Ai rành về cái này có thể viết tiếp hộ mình được ko? ah còn 1 yêu cầu nhỏ nữa là phần mềm thì phải có giao diện nữa nhỉ? có thể hướng dẫn mình cách tạo giao diện bằng tiếng việt được ko? kiểu như là một dòng ghi là: gửi file hay ki tự còn dòng dưới ghi là file hay kí tự nhận được. Cảm ơn mọi người nhiều. cảm ơn anh Bắc đã mở diễn đàn này cho đàn em học hỏi. Cảm ơn! thay đổi nội dung bởi: ngohaibac, 27-01-2009 lúc 09:37 AM. Lý do: thêm tag code |
![]() |
![]() |
![]() |
#5 |
Nhập môn đệ tử
Tham gia ngày: Jan 2009
Bài gửi: 1
: |
![]() tui chỉ có thể giúp bạn phần truyền kí tự thui.bạn có thể tham khảo đoạn chương trình đính kèm theo đây.Có gì không hiểu tui có thể giúp bạn
|
![]() |
![]() |
![]() |
#6 |
Đệ tử 6 túi
Tham gia ngày: Jul 2007
Bài gửi: 154
: |
mình muốn giao tiếp PC với 2 hoặc nhiều PIC thông qua 1 cổng COM của PC. nhưng khi PC gửi xuống chỉ có 1 PIC nhận data. giốmg như chuẩn I2C ấy. PC là Master còn các PIC là Slever. Bác nào biết thì chỉ giúp mình hướng giải quyết với. thank you!
|
![]() |
![]() |
![]() |
#7 |
Đệ tử 6 túi
Tham gia ngày: Apr 2006
Bài gửi: 125
: |
Theo mình biết thì chuẩn RS232 chỉ cho phép thực hiện liên kết điểm-điểm, nếu bạn muốn tạo liên kết đa điểm thì bạn có thể chuyển nó sang chuẩn RS485
|
![]() |
![]() |
![]() |
#8 |
Nhập môn đệ tử
Tham gia ngày: Feb 2009
Bài gửi: 1
: |
chào bác Bắc, vừa qua em có thực hiện cái TUT bác viết về RS232 hướng dẫn về lập trình giao tiếp RS232 bằng VC++. (http://www.picvietnam.com/download/T...OHB.100106.pdf). Em làm theo bác chỉ mà nó báo 102 lỗi, toàn lỗi "error C2018: unknown character '0xa0' ". Bác có thể giải thích cho em lỗi này đc không? Và cách khắc phục như thế nào.
Project em tạo đây: http://www.mediafire.com/?zlmntzbeg3m . Cám ơn các bác đã đọc! |
![]() |
![]() |
![]() |
#9 |
Nhập môn đệ tử
Tham gia ngày: Feb 2009
Bài gửi: 4
: |
em dang lam ve giao tiep rs232 giua pic 16f877a voi may tinh.em khong biet lap trinh vb6.0 de truyen du lieu .bac nao biet day em voi .thank ,,,,,,,,,,,
|
![]() |
![]() |
![]() |
#10 |
Đệ tử 3 túi
Tham gia ngày: Jan 2009
Bài gửi: 52
: |
Các bạn ơi làm thế nào để viết được tiếng Việt trong CCS thế? Có phải chúng ta tạo một font rồi include font đó vào chương trình sau đó đổi lại mã ASCII mở rộng là được ko ạ?
|
![]() |
![]() |
![]() |
#11 |
Nhập môn đệ tử
Tham gia ngày: Nov 2008
Bài gửi: 4
: |
Bác Bắc ơi!Sao bác ko dịch luôn ra file.exe cho a e đc nhờ
|
![]() |
![]() |
![]() |
#12 |
Nhập môn đệ tử
Tham gia ngày: Nov 2008
Bài gửi: 4
: |
a Bắc ơi! E ko down dc nó xuống. Chương trình ko còn nữa rồi.
|
![]() |
![]() |
![]() |
#13 |
Nhập môn đệ tử
Tham gia ngày: Mar 2009
Bài gửi: 5
: |
Em chào các bác, em thấy mọi người thảo luận xôn xao về giao tiếp cổng COM, cÓ rất nhìu bài hay luôn, nhưng em chưa thấy bác nào nói về tập lệnh AT.
Chẳng dấu là : em đang tìm hiểu tập lệnh AT, sau khi thiết lập giao tiếp với cổng COM, em muốn gửi, nhận tin nhắn bằng tập lệnh AT qua GSM modem G2403R . Bác nào đã từng nghiên cứu về tập lệnh AT, cũng như là gửi nhận tin nhắn dùng tập lệnh AT xuất ra cổng COM -> GSM modem G2403R thì giúp em với. Hiện tại em chưa biết viết câu lệnh như thế nào để xuất những câu lệnh AT ra cổng COM........................ |
![]() |
![]() |
![]() |
#14 |
Nhập môn đệ tử
Tham gia ngày: Apr 2009
Bài gửi: 3
: |
Nếu viết bằng VB thì mình có xử lý được hiển thị giá trị thực không. đầu vời ccomms là int còn hiển thị ra giá trị cstring
|
![]() |
![]() |
![]() |
#15 |
Đệ tử 3 túi
Tham gia ngày: Dec 2008
Bài gửi: 50
: |
bài tập truyền nhận cơ bản đầu tiên
các bác giúp em với, nghĩ mãi mà chưa làm được , chương trình của em nó chỉ nhận thôi, nhưng khi nhận xong thì PIC lại không thấy hiển thị, còn truyển ngược lại thì chưa đươc
code trong Pic: #include <16F877a.h> #include <DEFS_16F877A.h> #fuses HS,NOWDT,NOPROTECT,NOLVP #use delay(clock=20000000) #use rs232(baud=9600,parity=n, xmit=PIN_C6, rcv=PIN_C7) unsigned char dulieu; #INT_RDA void data_receive(void) { dulieu = getc(); putc(dulieu); } void main() { set_tris_a(0); ENABLE_INTERRUPTS(GLOBAL); ENABLE_INTERRUPTS(INT_RDA); while(true) { output_a(dulieu); delay_ms(2000); } } code trong VB: 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() If MSComm1.CommEvent = comEvReceive Then Text1.Text = Text1.Text + Asc(MSComm1.Input) End If End Sub (em tìm mãi mà không thấy chỗ nào để viết code.) thay đổi nội dung bởi: nguyennam8888, 10-04-2009 lúc 09:56 AM. |
![]() |
![]() |
![]() |
|
|
![]() |
||||
Ðề tài | Người gửi | Chuyên mục | Trả lời | Bài mới |
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 |
giao tiep RS232 voi C | dangngoc | Giao tiếp cổng COM và LPT | 9 | 26-02-2012 02:25 AM |
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 |