![]() |
|
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 |
![]() |
#151 | |
Đệ tử 4 túi
Tham gia ngày: Nov 2008
Nơi Cư Ngụ: Hanoi, Vietnam
Bài gửi: 78
: |
Trích:
Đầu tiên bạn cứ thử truyền các mã hex xem nó nhận thế nào đã! Rồi mới truyền số hoặc string. Thử với cái Terminal C# này xem sao. Good luck!
__________________
Mechatronics Department University of Engineering and Technology, VNUH. |
|
![]() |
![]() |
![]() |
#152 |
Đệ tử 1 túi
Tham gia ngày: Dec 2008
Nơi Cư Ngụ: Nhà thuê
Bài gửi: 22
: |
các bạn xem thư chương trình này giúp mình nha:chỉ cần truyền 1 ký tự từ pc xuống pic và phản hồi lại ký tự đó.nhưng có chút vấn đề ko biet phần cứng hay mềm nữa:
Code:
#include <16f877a.h> #include <de_16f877a.h> #fuses nowdt,noprotect,noput #device *=16 #use delay(clock=4000000) #use rs232(baud=9600,parity=N,xmit=pin_c6,rcv=pin_c7) char c; #int_rda void receive() {c=getc(); putc(c); } void main() {enable_interrupts(global); enable_interrupts(int_rda); while(true) { } }
__________________
Ta biết rằng cố quên là sẽ nhớ nên dặn lòng cố nhớ để mà quên! thay đổi nội dung bởi: namqn, 02-06-2009 lúc 07:14 PM. Lý do: định dạng code |
![]() |
![]() |
![]() |
#153 |
Nhập môn đệ tử
Tham gia ngày: May 2008
Bài gửi: 2
: |
xin chào hoangnguyen_qn
mình nghĩ đoạn code của bạn không có vấn đề,ban nên kiểm tra lại mạch con MAX232 dùng đồng hồ đo chân 2 và 6 nếu được khoảng +-7v trở lên la ok |
![]() |
![]() |
![]() |
#154 |
Nhập môn đệ tử
Tham gia ngày: May 2008
Bài gửi: 2
: |
chào mọi người
mình muốn dùng Matlab truyền dãy số xuống Pic 16f877a nhưng mình chỉ truyền được dãy số 2 bytes ,từ 3 bytes trở lên PIc chỉ nhận được số đầu tiên.Theo mình hiểu trong PIC6f877a thanh ghi đệm RCREG chỉ có 2 bytes,vậy có cách nào tạo ra một bộ đệm lớn hơn (khoảng 4 bytes) bằng phần mềm không? |
![]() |
![]() |
![]() |
#155 |
Nhập môn đệ tử
Tham gia ngày: May 2009
Bài gửi: 5
: |
kính gửi anh ngohaibac
em đang viết chương trình giao tiếp cổng com giửa máy tính và đầu cân DIOMAT S bằng vb. nhưng do ko biết khung truyền như thế nào. Có 1 phần mềm củ của nhà cung cấp nhưng do ko thích nghi với thời điểm hiện tại, phần mềm này chủ yếu nhận dử liệu cân về máy tính. Em đã dùng phương pháp nối hai máy tính với nhau qua cổng com rs232 và dùng phần mềm terminal để text xem phầm mềm củ của nhà cung cấp gửi dử liệu gì qua đầu cân. Lúc này em nhận được dử liệu HEX trên terminal như thế này:02 30 31 23 54 47 23 03 11 02 30 31 23 54 47 23 03 11 02 30 31 23 54 47 23 03 11 02 30 31 23 54 47 23 03 11 02 30 31 23 54 47 23 03 11 và vòng lặp cứ tiếp tục như vậy.Em ko hiểu họ dùng ký tự nào để gửi qua đầu cân . Mong anh giúp em cảm ơn |
![]() |
![]() |
![]() |
#156 | |
Đệ tử 9 túi
|
Trích:
Ở đây theo mình nghĩ thì họ gửi theo kiểu binary, mỗi lần gửi 1 byte có giá trị tương ứng với các byte mà bạn đã xem đó. Bạn viết lại chương trình bằng VB hoặc là dùng chính Terminal để gửi các byte này xem (save các giá trị vào text file rồi gửi 1 phát). Chúc bạn thành công. |
|
![]() |
![]() |
![]() |
#157 |
Nhập môn đệ tử
Tham gia ngày: May 2009
Bài gửi: 5
: |
cảm ơn anh đã hồi âm cho em.
Để truyền dử liệu qua đầu cân DISOMAT S em đã viết code như sau: Private Sub Form_Load() MSComm1.CommPort = 3 MSComm1.Settings = "9600,n,8,1" MSComm1.RThreshold = 1 MSComm1.InputLen = 500 'MSComm1.Handshaking = False MSComm1.InputMode = comInputModeText MSComm1.RTSEnable = True MSComm1.DTREnable = True MSComm1.PortOpen = True MSComm1.ParityReplace = "" MSComm1.NullDiscard = True End Sub Sub delay(ByVal giay As Double) Dim star As Double star = Timer While (Timer < star + giay / 1000) DoEvents Wend End Sub Private Sub Timer3_Timer() Dim BytesToSend(0 To 17) As Byte ' khai báo m?t m?ng 2 ph?n t? Dim Buffer As Variant ' l?u tr? d? li?u vào m?ng ki?u byte ? trên BytesToSend(0) = &H2 BytesToSend(1) = &H30 BytesToSend(2) = &H31 BytesToSend(3) = &H23 BytesToSend(4) = &H54 BytesToSend(5) = &H47 BytesToSend(6) = &H23 BytesToSend(7) = &H3 BytesToSend(8) = &H11 BytesToSend(9) = &H2 BytesToSend(10) = &H30 BytesToSend(11) = &H31 BytesToSend(12) = &H23 BytesToSend(13) = &H54 BytesToSend(14) = &H47 BytesToSend(15) = &H23 BytesToSend(16) = &H3 BytesToSend(17) = &H11 ' cho vào m?t bi?n Variant Buffer = BytesToSend() 'ghi vào c?ng n?i ti?p MSComm1.Output = Buffer delay 600 End Sub em đã truyền được rồi và dử liệu đầu từ đầu cân cũng đã gửi lại máy tính. nhưng em thấy cách viết code như trên của em chưa tốt lắm mong anh nào có cách hay hơn chỉ giúp. |
![]() |
![]() |
![]() |
#158 |
Đệ tử 1 túi
|
chào các bác em định làm bài tập là LCD giao tiếp máy tính, tức là mình xuất 1 ký tự trên máy tính xuống LCD nhưng lại không có tài liệu
ai có thì cho em xin với Cám ơn trước |
![]() |
![]() |
![]() |
#159 | |
Nhập môn đệ tử
Tham gia ngày: Aug 2009
Bài gửi: 1
: |
Trích:
|
|
![]() |
![]() |
![]() |
#160 |
Nhập môn đệ tử
Tham gia ngày: Oct 2009
Bài gửi: 1
: |
|
![]() |
![]() |
![]() |
#161 | |
Đệ tử 3 túi
Tham gia ngày: Dec 2007
Bài gửi: 60
: |
Trích:
__________________
Email: nmhai83@yahoo.com |
|
![]() |
![]() |
![]() |
#162 |
Nhập môn đệ tử
Tham gia ngày: Oct 2009
Bài gửi: 2
: |
Xin chào các bác! Em mới lên diễn đàn thấy các bác nhìu tài liệu hay quá em mới down về một ít. Sau này mong các bác chỉ bảo thêm.
Em đang làm mạch giao tiếp dùng RS232 mà tìm khắp không thấy tài liệu nào hay. Có bác nào có Tài liệu nào hay xin gửi cho em với.Mail của em là: hoangxudi@gmail.com Em xin Cảm ơn Và Hậu Tạ! |
![]() |
![]() |
![]() |
#163 |
Nhập môn đệ tử
Tham gia ngày: Jan 2010
Bài gửi: 2
: |
ah oi giup e ve do an mon dieu khien dong co buoc su dung RS232 noi tiep voi may tinh .dktd5mta@gmail.com. cam on anh nhe
|
![]() |
![]() |
![]() |
#164 |
Nhập môn đệ tử
Tham gia ngày: Jun 2010
Bài gửi: 1
: |
bạn ơi cho mình hỏi cách giao tiếp cân điện tử thông qua cổng RS232 như thế nào vậy? bạn có thể chỉ chi tiết cho mình ko? cam on nhieu nha
|
![]() |
![]() |
![]() |
#165 |
Nhập môn đệ tử
Tham gia ngày: Jul 2008
Bài gửi: 3
: |
![]() Em sử dụng cáp USB-to COM để truyền dữ liệu cho PIc6F877A. Em sử dụng Terminal để truyền dữ liệu nhưng sao khi truyền bất cứ kí tự nào xuống thì dữ liệu truyền về bất kể khi em truyền vào chân nào của PIC, kẻ cả khi chưa cấp nguồn cho PIC.
Mong bác chỉ giáo! |
![]() |
![]() |
![]() |
Ð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 |
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 |