Thông báo

Collapse
No announcement yet.

Serial Port - lập trình giao tiếp nối tiếp

Collapse
This topic is closed.
X
This is a sticky topic.
X
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • #31
    Cảm ơn bạn. Có lẽ vấn đề giao tiếp qua cổng Com là vấn đề mà nhiều bạn hỏi rất là nhiều nên tôi chỉ muốn xây dựng một luồng này như là nơi để các bạn giải đáp được những thắc mắc của mình về vấn đề giao tiếp qua cổng Com thôi.

    Bài viết ở trên tôi chưa thiết lập mở cổng. Để mở cổng giao tiếp thì các bạn phải mở cổng giao tiếp trong một khâu nào đó trước khi mà các bạn gửi dữ liệu ra ngoài trong một hàm nào đó.

    Cú pháp của mở cổng như sau:

    Code:
    m_mscomm1.SetPortOpen(true); // mở cổng
    m_mscomm1.SetPortOpen(false);  // đóng cổng
    
    bool a = m_mscomm1.GetPortOpen();  // lấy trạng thái của cổng
    Các bạn lưu ý là trước khi các bạn gửi dữ liệu thì phải chắc chắn là cổng đã mở. Do đó các bạn nên lấy thông tin về trạng thái của cổng như trên trước khi gửi nha.

    Chúc thành công. Tôi sẽ viết tiếp vào ngày mai.
    Technical sale at WT Microelectronics S'pore
    Hỗ trợ dự án sử dụng các hãng Texas Instrument, STMicro, Freescale, Fairchild, International Rectifier, Ublox, Lumiled, Maxim
    Liên hệ: 0915.560.511 hoặc ngo.haibac@wtmec.com

    Comment


    • #32
      Chương trình mẫu giao tiếp RS232 trên PC

      Đây là bài tôi viết trên http://picvietnam.com tại luồng http://picvietnam.com/showthread.php?p=1347#post1347

      Chào các bạn tôi xin đưa cho các bạn chương trình mẫu để giao tiếp với RS232 trên PC. Chương trình này tôi viết bằng Visual C++ trong bộ Microsoft Studio 6.0 của Microsoft, các bạn dịch lại ra file .exe để chạy. Phần hướng dẫn chi tiêt tôi sẽ gửi sau khi được kiểm duyệt kĩ lưỡng. Chương trình này còn đơn giản. Sẽ có nhiều phiên bản sau ra đời.

      Giao diện chương trình như sau:


      Hình 1: Giao diện chương trình

      Chương trình có chức năng sau:

      - Nhập kí tự hoặc xâu kí tự vào EditBox Transfer, điều chỉnh tham số giao tiếp trên các ComboBox. Nhấn nút Send để gửi dữ liệu ra cổng COM.

      - Đồng thời với nó nếu có dữ liệu truyền vê cổng Com thì dữ liệu sẽ được hiển thị lên EditBox Receive. Khi bạn nhấn vào Clear thì sẽ xoá dữ liệu hiển thị trên EditBox này

      Chú ý:

      Để có thể test luôn chương trình các bạn nối tắt chân 2 và chân 3 của RS232 lại với nhau chính là nối chân RxD và TxD để chúng ta truyền dữ liệu ra RS232 sau đó nhận dữ liệu luôn.


      Hình 2: Sơ đồ đấu chân của RS232

      Chúc các bạn thành công.
      Technical sale at WT Microelectronics S'pore
      Hỗ trợ dự án sử dụng các hãng Texas Instrument, STMicro, Freescale, Fairchild, International Rectifier, Ublox, Lumiled, Maxim
      Liên hệ: 0915.560.511 hoặc ngo.haibac@wtmec.com

      Comment


      • #33
        Chào các bạn. Đây là TUT tôi viết về RS232 hướng dẫn về lập trình giao tiếp RS232 bằng VC++.

        Tài liệu này được viết cho picvietnam.com tại địa chỉ :

        http://www.picvietnam.com/forum//sho...=newpost&t=274

        Chúc các bạn có thể lập trình ngon lành ứng dụng với TUT này.
        Last edited by ngohaibac; 04-05-2007, 02:51.
        Technical sale at WT Microelectronics S'pore
        Hỗ trợ dự án sử dụng các hãng Texas Instrument, STMicro, Freescale, Fairchild, International Rectifier, Ublox, Lumiled, Maxim
        Liên hệ: 0915.560.511 hoặc ngo.haibac@wtmec.com

        Comment


        • #34
          Bài viết khá công phu,chi tiết. Mình chưa đọc chi tiết lắm nhưng có vẻ như thiếu một linh hồn:đó là tự động dò tìm cổng COM.
          Góp ý: gồm 2 bước:
          -Bước 1: liệt kê ra các cổng COM đang tồn tại trong PC(ví dụ: COM 1,COM 3,COM 4).
          -Bước 2(có thể cần thiết): lần lượt trao đổi với cổng, và tìm ra cổng đang kết nối với phần cứng. Hoặc dùng giải pháp lựa chọn bằng tay nhưng phải có thêm các lệnh SAVESETTING và GetSetting để lưu và đọc ra cài đặt, số hiệu cổng...

          Comment


          • #35
            Đây là bản ban đầu thôi bạn ạ. Mình sẽ phát triển thêm nó thành một bản thực sự mạnh mẽ.

            Những chức năng ấy cũng chẳng có gì cả. Mình sẽ làm thêm chức năng cho nó đẩy đủ như chức năng của bọn nước ngoài ấy Terminal.

            Chào bạn.
            Technical sale at WT Microelectronics S'pore
            Hỗ trợ dự án sử dụng các hãng Texas Instrument, STMicro, Freescale, Fairchild, International Rectifier, Ublox, Lumiled, Maxim
            Liên hệ: 0915.560.511 hoặc ngo.haibac@wtmec.com

            Comment


            • #36
              Anh Công quá khen rồi.

              Mình hi vọng là TUT này sẽ hướng dẫn các bạn cơ bản về cách lập trình ứng dụng này.

              Xin giới thiệu lại TUT vậy.

              Chào các bạn, sau một số ngày cung phu làm TUT này, cuối cùng TUT cũng được anh Falleaf phê duyệt.

              TUT này là về cách lập trình giao tiếp RS232 trên PC bằng công cụ Visual C++ 6.0 trong bộ Visual Studio 6.0 của Microsoft. Tài liệu có nói chi tiết về các thuộc tính của MSComm và cũng hướng dẫn rất chi tiết về cách lập trình.

              Tài liệu này bao gồm 78 trang( hơi cung phu) có hình vẽ minh hoạ đầy đủ từng bước đảm bảo các bạn làm theo là được ngay.

              Đây là một hình minh họa trong TUT của tôi.

              Thứ nhất, kiểm tra các thuộc tính của cổng COM


              Thứ hai,tạo dự án


              Thứ ba,thêm thư viện MSComm:


              Thứ tư,tạo giao diện:


              Thứ năm,đặt các thuộc tính cho điều khiển:


              Thứ sáu.thêm các biến điều khiển:


              Thứ bảy,viết mã cho chương trình:

              Chúc các bạn thành công.
              Last edited by ngohaibac; 10-01-2006, 22:50.
              Technical sale at WT Microelectronics S'pore
              Hỗ trợ dự án sử dụng các hãng Texas Instrument, STMicro, Freescale, Fairchild, International Rectifier, Ublox, Lumiled, Maxim
              Liên hệ: 0915.560.511 hoặc ngo.haibac@wtmec.com

              Comment


              • #37
                Chẳng lẽ kết nối rồi mà ko hiểu mình đã kết nối chưa?
                Chẳng lẽ mình ghép nối COM mà ko hiểu trong PC của mình có bao nhiêu cổng COM?
                Chẳng lẽ mỗi lần kết nối lại kích chuột lựa chọn lại cổng COM?
                Góp ý vậy mà ko còn được hoan nghênh. Lần sau chị ko dám nữa.

                Comment


                • #38
                  Gửi bạn Hải Bắc,
                  Bạn học K bao nhiêu trường BK thế? và bạn học lớp AC mấy?, tớ học cùng ngành với bạn đó, nhưng tớ ra trường rồi, tớ K44.
                  AFH

                  Comment


                  • #39
                    Chào anh, AFH em học lớp Điều khiển tự động 1 - K48 ( tất nhiên là năm thứ 3) như anh Công nói.

                    Anh và em học cùng ngành rồi. Anh thấy học ngành mình thật là hay đúng không? Em đang có dự định thiết kế bộ điều khiển PID số dùng vi điều khiển PIC, đối tượng bất kỳ và thay đổi tham số của bộ điều khiển PID trên PC hoặc là qua nút bấm hiển thị lên LCD. Hi vọng là em có thể hỏi các anh nhiều.

                    Em còn nhiều điều cần học lắm. Mong các anh chỉ giáo.

                    Các bạn, tôi đã edit lại bài giới thiệu của tối về TUT rồi. các bạn mở trạng trước ra để xem nha.

                    Chúc các bạn thành công.
                    Last edited by ngohaibac; 11-01-2006, 11:17.
                    Technical sale at WT Microelectronics S'pore
                    Hỗ trợ dự án sử dụng các hãng Texas Instrument, STMicro, Freescale, Fairchild, International Rectifier, Ublox, Lumiled, Maxim
                    Liên hệ: 0915.560.511 hoặc ngo.haibac@wtmec.com

                    Comment


                    • #40
                      Nguyên văn bởi ngohaibac
                      Chào anh, AFH em học lớp Điều khiển tự động 1 - K48 ( tất nhiên là năm thứ 3) như anh Công nói.

                      Anh và em học cùng ngành rồi. Anh thấy học ngành mình thật là hay đúng không? Em đang có dự định thiết kế bộ điều khiển PID số dùng vi điều khiển PID, đối tượng bất kỳ và thay đổi tham số của bộ điều khiển PID trên PC hoặc là qua nút bấm hiển thị lên LCD. Hi vọng là em có thể hỏi các anh nhiều.

                      Em còn nhiều điều cần học lắm. Mong các anh chỉ giáo.

                      Các bạn, tôi đã edit lại bài giới thiệu của tối về TUT rồi. các bạn mở trạng trước ra để xem nha.

                      Chúc các bạn thành công.
                      Vi điều khiển PID???? Chắc em viết nhầm của từ PIC???? chứ làm gì có VĐK PID??
                      Uh, học ngành mình thật hay, nhất là công nghệ tự động hóa nắm giữ vị trí quan trọng trong cuộc sống và sản xuất. Nhưng có điều là đã học ngành của mình phải học giỏi, học xoàng xoàng ra trường chỉ xin được việc kinh doanh kỹ thuật hoặc dịch vụ kỹ thuật thôi. Kô làm chủ được công nghệ mấy.
                      Nhất là tiếng anh, dân kỹ thuật thường không giỏi tiếng anh. Nhất là khả năng nghe nói.
                      Cái PID số em làm cho tốt thử xem? Hay lắm đó, nhưng làm cho vui thôi, chứ muốn ứng dụng thì phải thiết kế PID auto-turning. (cái này bán nhiều trên thị trường rồi, tuy nhiên, theo nhận định của anh thì bộ "auto-turning" của nó có vẻ kô đáng tin cậy lắm, dù sao nếu ta tự làm một bộ thì hay hơn, làm chủ công nghệ, chứ kô bị phụ thuộc vào người khác. Right?
                      Em cho anh thông tin liên lạc (điện thoại, địa chỉ, email....), để đôi lúc cùng thảo luận, sau này công ty của anh làm ăn được trên lãnh vực tự động hóa và em vẫn yêu thích điện tử thì có thể vào làm ở công ty của anh (tất nhiên là em phải tốt nghiệp đã). Okie?
                      AFH

                      Comment


                      • #41
                        Nguyên văn bởi vutricongbka
                        Chào anh AFH ! Bắc nó out rồi nhưng em giới thiệu sơ qua về nó cho anh nhé !!
                        Nó học K48 (năm thư 3 thôi,tất cả những thứ nó viết đều là tự học đấy nhưn chưa đầy trong 1 tháng đâu (em cũng phục nó ))
                        Anh AFH có mạch nạp PLD thì cho em cái hì hì !!!
                        Em đang cần !!!
                        Cảm ơn thông tin của em. Học trong 1 tháng thì nhanh đấy. Chứ kô như anh, học cái gì cũng lâu. Chậm chạp. hi hi......
                        À, anh kô có mạch nạp PLD, em liên hệ anh MinhHa nhé.
                        Chúc em vui
                        AFH

                        Comment


                        • #42
                          AFH học K44 DKTD Bách Khoa à ? nhà ở khu quốc bảo - Thanh trì ?
                          Sao mình ở gần đấy mà ko biết nhỉ ?. (Tựu Liệt- Tam Hiệp).

                          Comment


                          • #43
                            Gửi anh AFH: cảm ơn anh nhiều.

                            Em rất vui được làm quen với anh. Địa chỉ của em em gủi PM cho anh rồi hoặc là anh xem chữ kí của em thì biết ngay. Có điều gì hay anh nhắn cho em nha.

                            Anh học cùng khoa, cùng ngành với em thì có bí quyết gì thì truyền cho em nha. Em là học trò cưng của các thầy cô đấy như cô Cầm , thầy NV Sơn dạy LTM, thầy Sơn - phó khoa dạy KTLT và truyền thông công nghiệp, em rất quí thấy ấy. Trông hơi nghiêm nhưng mà truyền thụ kiến thức thì thật là tuyệt vời.

                            Anh học K44 chắc biết anh Ánh đúng không? anh ấy được giữ lại trường đó. Dạy ở khoa mình. Trông anh ấy đẹp trai kinh khủng hình như cũng học giỏi lắm thì phải.

                            Em sẽ cố gắng học để có thể làm việc với bọn anh.

                            Cảm ơn anh. Chúc công ty anh làm ăn phát đạt( để em còn có cơ hội làm cùng chứ).

                            Chúc anh thành công.
                            Technical sale at WT Microelectronics S'pore
                            Hỗ trợ dự án sử dụng các hãng Texas Instrument, STMicro, Freescale, Fairchild, International Rectifier, Ublox, Lumiled, Maxim
                            Liên hệ: 0915.560.511 hoặc ngo.haibac@wtmec.com

                            Comment


                            • #44
                              Nguyên văn bởi ngohaibac
                              Gửi anh AFH: cảm ơn anh nhiều.

                              Em rất vui được làm quen với anh. Địa chỉ của em em gủi PM cho anh rồi hoặc là anh xem chữ kí của em thì biết ngay. Có điều gì hay anh nhắn cho em nha.

                              Anh học cùng khoa, cùng ngành với em thì có bí quyết gì thì truyền cho em nha. Em là học trò cưng của các thầy cô đấy như cô Cầm , thầy NV Sơn dạy LTM, thầy Sơn - phó khoa dạy KTLT và truyền thông công nghiệp, em rất quí thấy ấy. Trông hơi nghiêm nhưng mà truyền thụ kiến thức thì thật là tuyệt vời.

                              Anh học K44 chắc biết anh Ánh đúng không? anh ấy được giữ lại trường đó. Dạy ở khoa mình. Trông anh ấy đẹp trai kinh khủng hình như cũng học giỏi lắm thì phải.

                              Em sẽ cố gắng học để có thể làm việc với bọn anh.

                              Cảm ơn anh. Chúc công ty anh làm ăn phát đạt( để em còn có cơ hội làm cùng chứ).

                              Chúc anh thành công.
                              Mai Thế Ánh là bạn thân của anh đó. Nó mới đi Mỹ du học với người yêu rồi. giờ các thầy cô có vẻ bận rộn hơn. Anh thỉnh thoảng vẫn hay lên chơi với các thầy cô.
                              À, sau này anh có các project nhỏ nhỏ, anh sẽ đưa cho em làm, sẽ có tiền công. Nhưng cái đó kô quan trọng bằng kinh nghiệm em có được từ việc làm thực tế. Phải kô? Để xem tình hình công việc có bận rộn kô đã. Cứ yên tâm, có gì anh sẽ alo cho em.
                              Chúc em vui.
                              AFH

                              Comment


                              • #45
                                Trong VC++ dùng MSComm thì đầy đủ nhưng hơi cồng kềnh. Nếu chỉ dùng để giai tiếp với MCU thì có thể tạo một class đơn giản hơn, nếu bạn nào quan tâm thì tham khảo ở www.codeproject.com
                                0912666017

                                Comment

                                Về tác giả

                                Collapse

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

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

                                Collapse

                                Đang tải...
                                X