Thông báo

Collapse
No announcement yet.

giúp dò tìm cổng com tự động

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • giúp dò tìm cổng com tự động

    Mình đang viết chương trình = VS2008 MFC C++ tới phần giao tiếp cổng com mình dùng mscomm32.ocx
    Chương trình mình viết giao tiếp thì truyền nhận oke ko vấn đề gì tuy nhiên phần cài đặt cổng com hãn còn thủ công, chọn Com = tay. Vậy nên ai biết thuật toán dò tìm cổng com tự động hoặc dò tìm các cổng com đang mở của máy tính thì cho mình xin ý kiến
    Thank!
    Website chính thức đổi địa chỉ website thành
    Mời các bạn ghé thăm !!!

  • #2
    hình như cổng COM thì chỉ có mấy địa chỉ cố định rồi mà......nếu dò thì chỉ có cách thay lần lượt địa chỉ của các cổng thôi.

    Comment


    • #3
      địa chỉ cố định nhưng người ta vẫn có thể thay đổi được và mỗi 1 máy tính sẽ có 1 địa chỉ cổng com khác nhau
      việc dò bằng cách thay lần lượt mình cũng nghĩ ra nhưng làm chưa đc, trong C# thì có hàm quét các cổng com đang mở còn trong C++ mình xài cái Mscom32 này tìm trong thư viện của nó chỉ thấy hàm kiểm tra cổng đang kết nối với thiết bị của mình thôi còn với các thiết bị khác thì ko đc
      m_mscomm.get_PortOpen() // trả về trạng thái cổng đang kết nối
      ai có đoạn code demo nào ko nhỉ, viết = VB cũng được vì dù sao nó cũng đều là mscom, các hàm thao tác như nhau
      Website chính thức đổi địa chỉ website thành
      Mời các bạn ghé thăm !!!

      Comment


      • #4
        Nguyên văn bởi mast090 Xem bài viết
        Mình đang viết chương trình = VS2008 MFC C++ tới phần giao tiếp cổng com mình dùng mscomm32.ocx
        Chương trình mình viết giao tiếp thì truyền nhận oke ko vấn đề gì tuy nhiên phần cài đặt cổng com hãn còn thủ công, chọn Com = tay. Vậy nên ai biết thuật toán dò tìm cổng com tự động hoặc dò tìm các cổng com đang mở của máy tính thì cho mình xin ý kiến
        Thank!
        Với VS2008 MFC C++ thì mình chưa viết, nhưng mình đã viết thành công với VB6 giao tiếp với 8051 thành công. Ý tưởng là như thế này. Cần xác định xem máy tính có mấy cổng com, các cổng đó số bao nhiêu? Sau khi xác định được bước này rồi thì ta tiến hành thực hiện kết nối với thiết bị theo từng cổng trong danh sách các cổng của máy tính đang có. Kiểm tra đến cổng nào mà nhận được phản hồi từ thiết bị thì đó chính là cổng bạn đang kết nối với thiết bị.
        FPT Service bảo hành, sửa chữa dịch vụ UPS, các loại nguồn công suất.
        Mr Xô : Email :
        ĐT : 01674524129

        Comment


        • #5
          1) get name và list cổng com
          2) get status cổng com ( xem đóng hay mở ) ... hoặc chỉ List những cổng đóng ( tùy vào thư viện COM hoặc tự viết)
          3) Mở các cổng đóng ( thường các cổng đã mở trước đó ( open) thì đều không phải cổng thiết bị ta vừa cắm vào ) và ping thử dữ liệu ( gửi 1 đoạn mã : kết nối ABDCEF )
          4) Thiết bị được kết nối nhận được mã ABCDEF ... phản hồi lại " A đây rồi "
          5) connect với com đó và sử dụng bình thường
          6) Nếu không tìm thấy thiết bị thì lại mở cổng tiếp theo và làm lại từ bước 3.
          Module RF chuyên dụng điều khiển, truyền dữ liệu, thiết kế đề tài, dự án điện tử - chuyển giao công nghệ... ĐT: 0904964977 - email: dientuqueduong@yahoo.com

          Comment


          • #6
            em tìm trong file mscomm.h của nó thì chỉ có 2 hàm put_CommID và get_CommID, đọc trên 1 số bài cũng nói là get name nhưng ko rõ là hàm nào.
            Em đang làm ghép nối RS485 điều khiển nhiều thiết bị trên cùng 1 cổng, do đó em ko làm phần tự nối cổng com vì nếu hỏi 1 phát là cả lũ trả lời. em cũng chỉ cần nó load đc danh sách các cổng đang mở thôi. bác [MENTION=45]queduong[/MENTION] vs [MENTION=110555]nguyenkimxo[/MENTION] có cách nào chỉ em. có code VB thì cho em đoạn demo em xem và convert sang C++
            Website chính thức đổi địa chỉ website thành
            Mời các bạn ghé thăm !!!

            Comment


            • #7
              Nguyên văn bởi mast090 Xem bài viết
              em tìm trong file mscomm.h của nó thì chỉ có 2 hàm put_CommID và get_CommID, đọc trên 1 số bài cũng nói là get name nhưng ko rõ là hàm nào.
              Em đang làm ghép nối RS485 điều khiển nhiều thiết bị trên cùng 1 cổng, do đó em ko làm phần tự nối cổng com vì nếu hỏi 1 phát là cả lũ trả lời. em cũng chỉ cần nó load đc danh sách các cổng đang mở thôi. bác @queduong vs @nguyenkimxo có cách nào chỉ em. có code VB thì cho em đoạn demo em xem và convert sang C++
              Lâu rồi mình cũng không sài .NET và mấy sản phẩm Visual studio . ( nói chung là mấy cái trên nền .NET mình thấy nặng nề , cùi bắp nên tính bỏ rồi - chỉ trừ mấy thằng thuê làm dự án, đồ án ... cần .NET )

              --- Bạn thử nghiên cứu cái này xem : Cái này sẽ List hết cổng com hiện có vào 1 combobox . Rồi từ đó phát triển thêm ( theo mấy cái mình ghi trên là có thể tự động tìm thiết bị được ).
              Cái này viết trên Studio 2010 ... không biết là cái của bạn có mở được không nữa ... không mở được thì chịu khó đọc Code chay vậy . Code VB.NET cũng dễ thôi , không có gì phức tạp ...serial_qdec.zip
              Module RF chuyên dụng điều khiển, truyền dữ liệu, thiết kế đề tài, dự án điện tử - chuyển giao công nghệ... ĐT: 0904964977 - email: dientuqueduong@yahoo.com

              Comment


              • #8
                em làm cho công việc của em thôi, còn tất nhiên nó đi theo dự án của cty. bác ko xài VS nữa nhưng mà giờ nhiều người vẫn dùng lắm, đặc biệt là C# trong VS. ngay cả VB cổ xưa vậy bây giờ họ vẫn dùng nhiều, miễn sao nó đáp ứng đc yêu cầu của mình thôi. em cũng công nhận là nó lâu la, vs nhiều cái phức tạp k cần thiết. sau này chắc có học thêm cái khác
                em làm trên vs2008, nhưng mà code thì cũng đều là dạng file giống text, lấy notepad mở đc hết, ko mở đc cho lên msdn nó cũng mở đc. thank bác
                Website chính thức đổi địa chỉ website thành
                Mời các bạn ghé thăm !!!

                Comment


                • #9
                  Nguyên văn bởi mast090 Xem bài viết
                  Mình đang viết chương trình = VS2008 MFC C++ tới phần giao tiếp cổng com mình dùng mscomm32.ocx
                  Chương trình mình viết giao tiếp thì truyền nhận oke ko vấn đề gì tuy nhiên phần cài đặt cổng com hãn còn thủ công, chọn Com = tay. Vậy nên ai biết thuật toán dò tìm cổng com tự động hoặc dò tìm các cổng com đang mở của máy tính thì cho mình xin ý kiến
                  Thank!
                  a hướng dẫn e làm giao tiếp cổng com bằng mfc của c++2008 đc ko? e ko biết cách add để lấy cái biểu tượng điện thoại ra @@
                  e đang làm đồ án mà bị bí phần này a giúp e vs nha
                  cảm ơn b trước

                  Comment


                  • #10
                    Chế đi bác, nguyên lí tương tự như I2C.

                    Comment


                    • #11
                      Bạn Mast090 làm xong rồi thì post lên cho anh em tham khảo đoạn tự động dò tìm cổng COM được không.Mình trước xài VB giờ chuyển qua VC++ (do tiếp thu 1 dự án của người tiền nhiệm) cũng gặp vấn đề này mà chưa giải quyết được.
                      Technical Institutes
                      Mobile: 0983278725
                      Email:

                      Comment


                      • #12
                        Nguyên văn bởi process Xem bài viết
                        Bạn Mast090 làm xong rồi thì post lên cho anh em tham khảo đoạn tự động dò tìm cổng COM được không.Mình trước xài VB giờ chuyển qua VC++ (do tiếp thu 1 dự án của người tiền nhiệm) cũng gặp vấn đề này mà chưa giải quyết được.

                        thêm phần này vào hàm khởi tạo

                        string[] sPorts = SerialPort.GetPortNames();
                        foreach (string port in sPorts)
                        {
                        this.comboBox_ComName.Items.AddRange(new object[] { port });
                        comboBox_ComName.Text = port;
                        };
                        (^_^) hoangnv.3i@gmail.com

                        Comment

                        Về tác giả

                        Collapse

                        mast090 Tìm hiểu thêm về mast090

                        Bài viết mới nhất

                        Collapse

                        Đang tải...
                        X