PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   Giao tiếp cổng COM và LPT (http://www.picvietnam.com/forum/forumdisplay.php?f=44)
-   -   giao tiep RS232 voi C (http://www.picvietnam.com/forum/showthread.php?t=309)

dangngoc 22-02-2006 04:18 PM

giao tiep RS232 voi C
 
co ban nao biet viet giao tiep may tinh qua RS232 bang C hay khong vay? neu co cho minh xin cai ma nguon nhe. minh dang can lam de tai mon lap trinh he thong: giao tiep qua cong COM, minh dinh se lam ban phim ghep noi qua cong COM. lam mot cai ban phim nho va dung vi dieu khien 89C51 de quet ma va goi sang cong COM, tren may tinh se viet chuong trinh bang C de doc cac ma va nhan dang cac phim da an. cam on

ngohaibac 22-02-2006 06:33 PM

Trích:

Nguyên văn bởi dangngoc
co ban nao biet viet giao tiep may tinh qua RS232 bang C hay khong vay? neu co cho minh xin cai ma nguon nhe. minh dang can lam de tai mon lap trinh he thong: giao tiep qua cong COM, minh dinh se lam ban phim ghep noi qua cong COM. lam mot cai ban phim nho va dung vi dieu khien 89C51 de quet ma va goi sang cong COM, tren may tinh se viet chuong trinh bang C de doc cac ma va nhan dang cac phim da an. cam on

Mình nghĩ bạn nên viết chương trình trên VC++ vì nó dùng để lập trình giao diện rất tốt và có các hàm tương tác với phần cứng như các OCX, thư viện .dll, các hàm API. Còn với C thì bạn sẽ phải lập trình bằng ngắt mềm thì mới có thể nhận biết được dữ liệu khi nào đến chân của RS232. Và nếu lập trình đồ hoạ thì có lẽ là làm cái này chắc bạn sẽ nhức đầu với việc chỉnh code lắm đó mà chương trình sẽ không có nhiều chức năng như chính tốc độ baud, bắt tay,..

RS232 chỉ có nhiệm vụ truyền dữ liệu còn việc qui ước giữa chương trình trên PC và chương trình mã quét trên 8051 sẽ quyết định phím nào được ấn.

Ví dụ: trên 8051 bạn biết phím 1 được nhấn, bạn gửi kí tự '1' ( hoặc bất kì phím nào miễn là các phím không được có cùng một kí tự qui ước) lên PC . Trên PC đọc và biết : à đây chắc chắn là ấn phím 1 rồi.

Chúc bạn thành công.

dangngoc 23-02-2006 11:55 AM

minh da doc bai viet giao tiep cua ban, that la mot bai viet hay, cam on ban da giup do. minh se thu viet voi VC++ xem sao.

VNArmy 17-02-2007 11:06 PM

Trích:

Nguyên văn bởi dangngoc (Post 1683)
co ban nao biet viet giao tiep may tinh qua RS232 bang C hay khong vay? neu co cho minh xin cai ma nguon nhe. minh dang can lam de tai mon lap trinh he thong: giao tiep qua cong COM, minh dinh se lam ban phim ghep noi qua cong COM. lam mot cai ban phim nho va dung vi dieu khien 89C51 de quet ma va goi sang cong COM, tren may tinh se viet chuong trinh bang C de doc cac ma va nhan dang cac phim da an. cam on

Có thể viết bằng C dùng ngắt 14 nhưng có lẽ bây giờ chẳng ai dùng nữa vì dùng VB hay VC++ đã hỗ trợ đến tận răng rồi.
Chúc bạn thành công.

thieuhuy 11-03-2007 09:10 PM

Chào các bạn!

Mình cũng đang điên đầu với việc giao tiếp với cổng RS232. Mình đang làm một project nho nhỏ là điều khiển động cơ dùng PSoC và PC104. Lập trình giao tiếp trên PSoC thì OK hết. Mình đã dùng thử chương trình của anh Bắc để test cổng COM trên PC dùng Visual C++ thì mọi thứ đều OK hết. Nhưng bây giờ phải chuyển qua dùng PC104 hoạt động trên nền DOS nên không dùng Visual C++ được nữa mà phải dùng C. Khi viết chương trình C thì mình chỉ nhận được dữ liệu còn truyền dữ liệu thì chỉ truyền được dữ liệu 8 bit (0-255). Nếu truyền số lớn hơn 255 thì bị tràn số.

Các anh em nào đã dùng C để giao tiếp qua RS232 xin vui lòng chỉ giáo.

falleaf 11-03-2007 09:47 PM

1 Attachment(s)
Bạn có thể tham khảo đoạn code bằng Borland C sau đây:

thieuhuy 12-03-2007 01:17 PM

Cám ơn bác falleaf rất nhiều. Mình đang "ngâm" cứu đoạn code này.

botvrg 18-12-2009 03:26 PM

mình đang làm trong thủy điện nên có vài chương trình dùng để xử lý và thu thập dữ liệu từ các tủ điều khiển dung VC++6 đặc biệt chương trình SCADA của Nhà máy dung cổng giao tiếp là cổng com RS232 nên phần mềm này rất hay.nếu có thời gian mình sẽ up len cho anh em tham khảo.và chỉ giáo thêm.

luffy 12-01-2012 02:03 PM

có bác nào giúp em viết code để 89c51 nhận tín hiệu từ vb không .cảm ơn các bác
ví dụ :bên vb gửi qua kí tự là "1" bên IC nhận được so sanh và cho chân P1.0 lên mức 1 được không .em viết hoài chăng r thấy j hết ráo

vudt2412 26-02-2012 02:25 AM

Trích:

Nguyên văn bởi luffy (Post 53807)
có bác nào giúp em viết code để 89c51 nhận tín hiệu từ vb không .cảm ơn các bác
ví dụ :bên vb gửi qua kí tự là "1" bên IC nhận được so sanh và cho chân P1.0 lên mức 1 được không .em viết hoài chăng r thấy j hết ráo

Bạn có thể tham khảo bài viết này :
http://www.dientumaytinh.com/2012/02...en-thi_25.html

hi vọng giúp đc bạn :)


Múi giờ GMT. Hiện tại là 08:54 PM.

Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam