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)
-   -   Lập trình giao tiếp RS232 trên PC bằng Visual C++.Net (http://www.picvietnam.com/forum/showthread.php?t=1145)

ngohaibac 25-05-2007 07:05 PM

Lập trình giao tiếp RS232 trên PC bằng Visual C++.Net
 
1 Attachment(s)
Chào các bạn.

Mình đã làm xong cơ bản giao diện chương trình giao tiếp RS232 bằng Visual C++.Net.

Giao diện của chương trình:


Chương trình có chức năng tự động cập nhật các cổng COM có trong PC của bạn.

Mình đã đóng gói chương trình thành chương trình cài đặt (đính ở file bên dưới). Chương trình cài rất là đơn giản.

Phiên bản hiện tại là V1.0.0.0 và nó sẽ được cập nhật để thêm các chức năng sau.

Các bạn dùng và cho ý kiến nhé.

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

ngohaibac 26-05-2007 12:14 AM

Chào các bạn.

Các bạn download .Net Framwork 2.0 và cài để cho ứng dụng trên chạy được nhé.

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

123458 26-05-2007 10:13 AM

Chao cac su huynh!!!De dang viet chuong trinh giao tiep voi RS232 dung VB de lam dung theo sach huong dan ma bi bao loi trong win co tai inoutport ve may rui ma van vay!!! Co su huynh nao cho de cao kien zoi!!!da ta !!!su huynh nao co chuong trinh hoan chinh thi post len giup de nhe!!!

ngohaibac 26-05-2007 03:36 PM

Chào bạn.

Lập trình bằng VB thì bạn có thể tham khảo luồng sau:

http://dientuvietnam.net/forums/showthread.php?t=5281
http://www.picvietnam.com/forum//showthread.php?t=869

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

falleaf 27-05-2007 08:59 AM

Lập trình bằng .NET không phải là giải pháp cho lập trình điều khiển (cái này bạn nào quan tâm đến vấn đề lập trình thì sẽ rõ). Lập trình điều khiển vẫn nên chú trọng vào VC++ 6.0.

Tuy vậy, F cho Bắc làm cái chương trình này nhằm mục đích đa dạng hóa các tutorial của picvietnam. Giúp các bạn bước đầu làm quen với .net cho điều khiển.

Chúc vui.

minhquancdt 27-05-2007 06:33 PM

Em thấy nếu cứ đi lung tung thì không hay một chút nào, món nào cũng biết 1 chút thì không ổn một chút nào. Đã làm thì tập trung phát triển một cái thôi nhưng phải hoàn thiện và có thể cải tạo dần để tối ưu hơn.

Chúng ta hay dùng VC++ cho lập trình ứng dụng điều khiển vì bạn giao tiếp với máy tính bằng VĐK chẳng hạn, lập trình cho nó bằng ngôn ngữ C sẽ rất thuận tiện khi truyền nhận dữ liệu lên phần mềm cũng được phát triển trên nền tản C.

ngohaibac 27-05-2007 08:15 PM

Chào bạn.

Ứng dụng viết trên VC++.Net này có thể chuyển về bản VC++ 6.0 bạn ạ.Mình đã viết ứng dụng trên tạm tạm rùi, chỉ còn một vài chức năng thôi thôi bạn ạ.

Mình sẽ hoàn thành từng ứng dụng một cho nó hoàn chỉnh, good.

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

tranvanthuong 28-05-2007 10:15 AM

A BAC ơi em cài 2 chương trinh a roi ma vẩn ko chay được e không biết tại sao? a chỉ em với

ngohaibac 28-05-2007 12:16 PM

Uhm, anh cũng chưa biết tại sao :D.

Mấy cái máy của đứa bạn cùng phòng không chạy được. Để anh xem xét lại rùi báo cho mọi người nhé.

Nếu em cài Visual Studio 2005 rùi thì chắc là chạy ok lắm.

Chúc em thành công.

falleaf 28-05-2007 01:26 PM

Do cái lúc em dịch, em phải chọn cái chế độ đóng gói các cái thư viện mà em đã làm thành một cái exe. Hình như em quên đóng gói, cho nên không chạy được trên máy không cài VC.

Máy anh chẳng còn cài gì hết cho nên không kiểm tra được. Các bạn xem lại có có báo là không tìm được mấy cái .dll hay file gì đó khác không?

Chúc vui

hungbkhn 28-05-2007 08:22 PM

Chao moi nguoi,
ung dung ma Bac dang viet theo anh dung de "test voi so cong la fix". mot so ung dung ta chua biet truoc so cong la bao nhieu, giao dien cau hinh cung ko duoc dua len tren vi "yeu cau giao dien sach se" nen khi "connect" bao loi.
De lam bai toan nay thi co mot giai phap la doc noi dung thanh ghi cac cong RS232 duoc detect dynamic.
Tu khoa la RegOp.cls, theo a nho thi o trong MSDN no cung co.
Hi vong la moi nguoi giai quyet duoc tron ven van de nay.
Chuc vui ve.




Trích:

Nguyên văn bởi falleaf (Post 8960)
Do cái lúc em dịch, em phải chọn cái chế độ đóng gói các cái thư viện mà em đã làm thành một cái exe. Hình như em quên đóng gói, cho nên không chạy được trên máy không cài VC.

Máy anh chẳng còn cài gì hết cho nên không kiểm tra được. Các bạn xem lại có có báo là không tìm được mấy cái .dll hay file gì đó khác không?

Chúc vui


ngohaibac 29-05-2007 01:33 AM

Em đã đóng gói bằng Advanced Installer 4.0 của Microsoft, đặt chế độ selfregister các file .dll rùi. Nên không phải là vấn đề đó. Em sẽ đóng gói lại bằng Install Sheld vào bản sau.

Anh hungbkhn: ứng dụng của em không phải là làm với các cổng COM fix cố định, khi anh mở ứng dụng ra thì nó đã tự đông load các cổng COM tồn tại trên PC rùi. Nút Scan Port để scan lại khi đã có cổng nào đó dùng vào việc khác rùi.

Các cổng đang làm việc sẽ không được đưa vào danh sách Com Port nên sẽ không chọn được.

Em detech các Port bằng hàm API CreateFile.

Chúc mọi người thành công.

hungbkhn 29-05-2007 03:22 PM

y cua anh khac o cho la,
gia su thiet bi em cam vao no duoc detect o cong N.
neu em dung nut Scan Port ra cac cong co san. (cai nay ko hay lam trong ung dung), gia su cho la vay nhung neu anh chon cong la M # N thi anh nho la no se bao loi.
do do y anh la bo het cac nut nay va detect tu dong trong thanh ghi cac cong RS232. No la mot chuoi, cai nao moi thi la cai cong vua cam vao va bien luan no. Se ko co loi. Cai nay giao dien than thien hon voi nguoi su dung.
Vi ho ko can biet cong gi, noi nhu the nao.
Chi biet co chu KET NOI la ok.
y la vay hi.
chuc vui ve


Trích:

Nguyên văn bởi ngohaibac (Post 8977)
Em đã đóng gói bằng Advanced Installer 4.0 của Microsoft, đặt chế độ selfregister các file .dll rùi. Nên không phải là vấn đề đó. Em sẽ đóng gói lại bằng Install Sheld vào bản sau.

Anh hungbkhn: ứng dụng của em không phải là làm với các cổng COM fix cố định, khi anh mở ứng dụng ra thì nó đã tự đông load các cổng COM tồn tại trên PC rùi. Nút Scan Port để scan lại khi đã có cổng nào đó dùng vào việc khác rùi.

Các cổng đang làm việc sẽ không được đưa vào danh sách Com Port nên sẽ không chọn được.

Em detech các Port bằng hàm API writefile.

Chúc mọi người thành công.


bien_van_khat 29-05-2007 04:26 PM

Hix trưởng lão đã gõ ko có dấu mà lại viết khó hiểu quá, em đọc đi đọc lại mấy lần, nói thật nếu là bài viết của 1 thành viên bình thường thì chắc em đọc 1 lần rồi bỏ cho rồi.

Nếu em hiểu đúng thì ý anh là ở cái cách thiết kế giao diện chuơng trình, nếu giờ em chon COM1, nhưng chưa connect, lát trong máy có thằng nào đó nó chiếm mất, đến khi em bấm connect thì boong, lỗi.

Vậy Bắc nên để cái phần cấu hình ở 1 dialog connect, mỗi khi load dialog này nó tìm tất cả port nào còn thể hiện cho người dùng, người ta chọn xong cũng là connect luôn.

@Anh Falleaf: Em thấy đã là phần mềm thì kể gì ngôn ngữ miễn sao người thiết kế có được sự dễ dàng tiện lợi, đáp ứng được yêu cầu của người sử dụng. Nếu nói viết phần mềm đk chỉ nên chú trọng vào VC6 thì có hơi bảo thủ ko anh F?

falleaf 29-05-2007 05:10 PM

Không phải, giữa VC++ 6 và VC++.net, thì phần biên dịch của nó thông qua cái bộ cân bằng các runtime giữa các ngôn ngữ khác nhau. Chính vì vậy, một solution trên .net có thể viết nhiều ngôn ngữ khác nhau.

Học C# thì không cần phải học các ngôn ngữ khác nữa. Học Java thì không cần phải lo về platform,... Đó là ý tưởng của bọn nó.

Còn khi mà đã chạy cái đồng bộ runtime, thì rõ ràng quá trình dịch dài hơn. Giữa .net và VC6 hoàn toàn không khác gì nhau về mặt điều khiển cả, nhưng chính vì phần dịch có thêm một bước, cho nên những người làm khoa học, kỹ thuật, kể cả các công ty lớn, họ cũng yêu cầu phải dùng VC++6.

Làm .net là vì có bản 2005 student, khi đó sinh viên mình né được chuyện bản quyền. Đó cũng là lý do mà F cho Bắc làm cái .net này. Còn thực tế, người ta vẫn chỉ dùng bản 6. cho điều khiển thôi.

Chúc vui.


Múi giờ GMT. Hiện tại là 10:25 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