Mình có dùng chương trình của bạn ngohaibac de giao tiep cong COM. Khi noi hai chan 2 va 3 của cổng COM để chạy thì ok,, nhưng khi mình đưa một mạch cụ thể (một KIT khá xịn) vào thì việc truyền nhận không chính xác, ví dụ chỉ có thể truyền và nhận đúng với các số 1,3 và hỏng các số còn lại, mình đoán là do sự khác biệt giữa unicode và ASCII, nhưng mình vẫn chưa fix được, các bạn thử cùng mình xem.
Giao tiếp RS232 trên PC
Collapse
This is a sticky topic.
X
X
-
Các bác có thể tham khảo MFC class cho serial tại http://www.codeproject.com/system/cserialport.asp (em dùng cái này cho nhiều project chạy rất OK) hoặc browse http://www.codeproject.com/system/ để xem các bài viết về lập trình cho serialLast edited by rmitoday; 03-03-2006, 01:33 PM.
Comment
-
Mình sẽ xem lại vấn đề lỗi này. Lỗi này có thể là do nguyên nhân tôi dùng mode truyền là kiểu text.
Thực tế, tôi cũng nghiên cứu chuyển sang mode truyền binary nhưng đang gặp một chút vướng mắc về chuyển đổi kiểu dữ liệu.
Để tôi nghiên cứu các lớp của bọn nước ngoài đó, rồi áp dụng vào cho mình chắc thành công hơn. Và có thể tìm ra đáp án ở các lớp này.
Chúc các bạn thành công.
Comment
-
Mình tìm được thư viện io.dll, lập trình trên các cổng cực dễ. Bởi vì mình ko thích dùng mscomm (nói chung là ko thích dùng sp của microsoft), nên dùng cái này, hơn nữa nó đơn giản và dễ hiểu hơn, tương thích winxp hoàn toàn (so với các thư viện khác chỉ có win98 là cùng).
Các bạn có thể vào đây để tham khảo:
Comment
-
Comment
-
Can on Bac ngohaibac da cho xai thu chuong trinh cua Bac, toi co down ve va xai thu truyen nhan qua cong Com cua Bac cho con PIC6F877 va PIC 18F458 toi thay no co cac van de sau:
- chay xong bi loi o cong Com toi phai khoi dong lai may no moi chay dung lai duoc(toi thu no voi chuong trinh khac viet bang VB bao dam chuong trinh nay chay dung)
- co mot so string va so truyen ve khong dung neu cho PIC truyen ve 3 so (toi cho truyen ve la 111) thi no hien ra la ??1 (bao dam baud toi thiet lap la dung)
Comment
-
hic hic. Lỗi thế này thì khéo phải làm lại cái khác thôi. Thằng MSCOMM không đáng tin gì cả.
Tôi sẽ nghĩ cách khác các bạn ạ. Đợt này đang bận. Các bạn cứ dùng tạm cái chương trình viết bằng VB bên dientuvietnam.net đã.
Chương trình này bạn nhấn kí tự nào trên bàn phím thì nó sẽ truyền đi. Hơi đơn giản các bạn cải tiến thêm nha.
Chúc các bạn thành công.
Comment
-
khong co dau Bac cai thang MSCOMM du doi lam do! toi thay co nhieu chuong trinh viet bang ngon ngu khac su dung MSCOMM hieu qua lam that tiec la toi khong the upload len duoc cho Bac tham khao, toi co thu viet bang VC++ nhung no khong chay cung chang biet lam sao nua nay Bac lam duoc den day la tuyet voi lam roi, Bac hay co len rang tim cho sai di chang le VC++ khong the giao tiep bang cong COM duoc sao vo ly qua. Dang cho tin cua Bac
Comment
-
Ngôn ngữ khác dùng MSCOM như VB thì mình viết rồi bạn ạ. Riêng với VC++ thì mình chỉ gặp lỗi đó thôi.Nguyên văn bởi hanhluckylykhong co dau Bac cai thang MSCOMM du doi lam do! toi thay co nhieu chuong trinh viet bang ngon ngu khac su dung MSCOMM hieu qua lam that tiec la toi khong the upload len duoc cho Bac tham khao, toi co thu viet bang VC++ nhung no khong chay cung chang biet lam sao nua nay Bac lam duoc den day la tuyet voi lam roi, Bac hay co len rang tim cho sai di chang le VC++ khong the giao tiep bang cong COM duoc sao vo ly qua. Dang cho tin cua Bac
VC++ tất nhiên có thể giao tiếp cổng COM ngon lành mà. Bọn nước ngoài nó viết các lớp riêng để sử dụng. Để rảnh đã tôi sẽ nghiên cứu lại các lớp của bọn nó xem bọn chúng dùng chuyển đổi kiểu dữ liệu thế nào.
Chúc các bạn thành công.
Comment
-
File mẫu của bọn nước ngoài
Xin đưa cho các bạn một chương trình của bọn nước ngoài viết cực hay luôn:
Đây là giao diện:

File chương trình:
Chương trình rất dễ dàng sử dụng. Có cực nhiều chức năng là mục đích mà mình đang muốn viết như vậy.
Các bạn cứ tạm dùng cái này. Chương trình rất là hay.
Chúc các bạn thành công.
Comment
-
Thanks. Chương trình terminal rất hay.
Mình đang viết chương trình giao tiếp để điều khiển servo qua COM, chỉ dùng api có sẵn (mở cổng COM như 1 file và giao tiếp như qua 1 file). Khi nào nộp bài xong và bổ sung thêm cho đầy đủ (bởi vì mình rút gọn lại chỉ dùng để điều khiển theo yêu cầu của thầy), mình hy vọnng có thể đưa lên đây cho mọi người góp ý.
Chúc vui.
Comment
-
To NgoHaiBac: khi mình test chương trình của mình viết bằng api, mình thử nối tắt 2 và 3 lại nhưng nó ko nhận được gì cả. Mình dùng chương trình terminal bạn đưa, nó cũng ko nhận, mình có viết một chương trình khác bằng delphi, dùng TComPort class, nó cũng ko receive được. Cuối cùng, mình gắn 1 cái modem vào, thì nhận tuốt. Thế là thế nào nhỉ.
Đây là project đầu tiên dính đến giao tiếp qua máy tính của mình, nên có 1 số cái ko hiểu, nhờ anh em chỉ hộ.
Comment
-
Xin bạn cho biết lỗi cụ thể của chương trình mà mình đã up lên.Nguyên văn bởi fighttại sao tôi dùng chương trinh của bác NgoHaiBac thì bị lỗi(thông báo lỗi trên khung cửa sổ windown) hoặc không truyền được nhỉ.Ai biết trả lời giúp
Bạn đã kiểm tra các chương trình khác xem có sử dụng cổng COM chưa. Bạn phải set đúng cổng mà bạn dùng bằng cách sử dụng Hardware manage để xem trong PC của mình có những cổng COM nào và bạn dùng giao tiếp với cổng nào.
Bạn chú ý, nếu một chương trình khác đang mở cổng COM để giao tiếp thì bạn không thể dùng chương trình khác với lệnh mở cổng lần nữa. Ví dụ bạn đang mở cổng COM1 để giao tiếp USART thì bạn không thể nạp Bootloader bằng cổng này mà bạn phải đóng cổng này lại bằng cách ấn vào nút Disconnect
Đầu tiên khi muốn giao tiếp USART, bạn chọn cổng, chọn tần số Baud, các bit chắn, lẻ, ... rồi ấn nút Connect để giao tiếp.
Chương trình Terminal bọn nước ngoài viết chạy hơi bị đỉnh. Mình đã sử dụng cái này và thấy k có lỗi gì cả.
chúc bạn thành công.
Comment
ngohaibac
Comment