Thông báo

Collapse
No announcement yet.

[tut] how to communication a usb device with visual studio 2010

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

  • [tut] how to communication a usb device with visual studio 2010

    Nội dung của TUT :
    - Phần 1 : Hướng dẫn code USB bằng CCS

    - Phần 2 : Hướng dẫn tạo Driver bằng Driver Winzard (NI-VISA)

    - Phần 3 : Hướng dẫn viết phần mềm giao tiếp bằng C# và Measurement Studio

    - Phần 4: Hướng dẫn vẽ đồ thị bằng Measurement Studio


    Project Demo Grapth

    Project Demo Usb CCS

    Project demo Usb C#

    Document Tutorial
    Thân.
    Last edited by hienclubvn; 14-01-2012, 18:48.
    My Face :

  • #2
    tôi rất ủng họ những người có tinh thần vì cộng đồng như bạn, cám ơn rất nhiều.
    Thân.

    Comment


    • #3
      nhanh thế,mới nói đã làm xong rồi.pro thế.thanks!
      , , ,

      Comment


      • #4
        Uhm, sáng mở mắt ra là ngồi cho đến lúc tối khuya. cơm ko ăn, nước ko uống, chỉ hút thuốc + uống trà thôi. Tính viết thật kỹ mà nhác quá. Lâu lắm rồi ko đụng lại nên lười nhác làm. Nhưng cơ bản như thế là cũng đầy đủ rồi. Các bạn xem qua nếu thiếu sót hoặc sai gì thì thông báo mình sẽ sửa lại và bổ sung thêm.
        Thanks mọi người đã ủng hộ
        Thân.
        My Face :

        Comment


        • #5
          hienclubvn mây hôm rồi do mình bận nên chưa xem tài liệu của bạn, hôm nay ngồi ngâm cứu bài của bạn và thêm mấy bài khác . Mà sao chưa thấm vào đâu cả ,minh định mô phỏng trước rồi mới làm mạch thật sau .Trong giao tiếp usb đòi hỏi phải tạo driver cho thiết bị vậy nếu mình mô phỏng trên proteus 7 có cần tạo driver không , À mà máy mình cài MCS visual studio 2010 Express mở file c# của bạ nó báo lổi không .

          Comment


          • #6
            Nguyên văn bởi thientanvt Xem bài viết
            hienclubvn mây hôm rồi do mình bận nên chưa xem tài liệu của bạn, hôm nay ngồi ngâm cứu bài của bạn và thêm mấy bài khác . Mà sao chưa thấm vào đâu cả ,minh định mô phỏng trước rồi mới làm mạch thật sau .Trong giao tiếp usb đòi hỏi phải tạo driver cho thiết bị vậy nếu mình mô phỏng trên proteus 7 có cần tạo driver không , À mà máy mình cài MCS visual studio 2010 Express mở file c# của bạ nó báo lổi không .
            Proteus 7 để giao tiếp cổng USB ảo, bạn cần cài driver Virtual USB của Proteus (có sẵn trong bộ cài). Nếu thiết bị USB đòi hỏi driver (ko phải HID) thì phải cài thêm driver của thiết bị USB đó.

            Tôi đọc bài của bác rồi, tôi nói rằng chẳng khác gì so với bài bác Hưng. Trừ việc thay đổi chương trình tạo driver.
            Như cái của bác, đâu đơn giản chỉ là cài driver, của bác còn thiếu cái thư viện NI mà bác ko include theo. Để khắc phục lỗi này, bác cần vào System32 lôi cái dll đó ra rồi chép vào thư mục của exe vào đóng gói chung vào cho anh em. Không thôi anh em cũng phải cài Measurement Studio để chạy đc cái của bác ấy (không thôi là not working, tôi debug ra thấy thiếu cái thư viện của NI)

            Tôi xin bổ sung thêm bài của bác Hưng, cái máy ko cần phải cài Windriver để chạy. Chỉ cần vào system32 lôi cái dll và đóng gói chung vs chương trình là đc. Nên vì vậy tôi nói bài của bác chẳng khác gì bài của bác Hưng.

            Dù sao, tôi thấy bài của bác cũng có ý nghĩa, thank 1 cái.
            Nếu bác thấy điều tôi nói là đúng, cũng nên thank tôi 1 cái.
            Tôi sẽ viết 1 bài về giao tiếp HID và C# (dùng 1 gói thư viện mã nguồn mở tôi tìm đc trên mạng).
            Computer Science major - Vietnamese-German University
            Sponsored by

            Comment


            • #7
              P/S: Khi anh em đã chế tạo ra thiết bị USB, phải nghĩ tới là mình tạo ra cho người ta dùng, chú ko phải mình dùng. Các bác nên test trong 1 máy khác để tìm hiểu những gì mình còn thiếu, include những file đó và đóng gói thành 1 sản phẩm hoàn chỉnh nhất.
              Computer Science major - Vietnamese-German University
              Sponsored by

              Comment


              • #8
                Cảm ơn thằng em. Đúng là chú nói ra làm anh vỡ vạch ra.
                Cái TUT anh viết mục đích chỉ là để cho mọi người mới tập code có 1 cách nhanh chóng tiếp cận và làm được. Còn với những người làm được rồi thì nó ko còn ý nghĩa.
                Với chú em nữa thì lại là bài đáng chê cười rồi.
                Có lẻ anh nên sống ẩn dật để tu luyện thêm thôi. Ko dám cho ra TUT để hướng dẫn Newbie nữa.
                My Face :

                Comment


                • #9
                  Giống như mình kô viết cái gì.Chỉ chém thôi.Sống ẩn giật.Chưa ai biết mình đang làm gì và ở đâu.Ka ka.
                  , , ,

                  Comment


                  • #10
                    Nguyên văn bởi hienclubvn Xem bài viết
                    Cảm ơn thằng em. Đúng là chú nói ra làm anh vỡ vạch ra.
                    Cái TUT anh viết mục đích chỉ là để cho mọi người mới tập code có 1 cách nhanh chóng tiếp cận và làm được. Còn với những người làm được rồi thì nó ko còn ý nghĩa.
                    Với chú em nữa thì lại là bài đáng chê cười rồi.
                    Có lẻ anh nên sống ẩn dật để tu luyện thêm thôi. Ko dám cho ra TUT để hướng dẫn Newbie nữa.
                    Sao lại ko, phải năng nổ viết tut chứ. Mình viết tut sẽ phát hiện thêm cái lỗi của mình và trao đổi thêm kinh nghiệm, truyền đạt lại cho những người chưa biết.
                    Computer Science major - Vietnamese-German University
                    Sponsored by

                    Comment


                    • #11
                      Nguyên văn bởi rptdnmqs Xem bài viết
                      Giống như mình kô viết cái gì.Chỉ chém thôi.Sống ẩn giật.Chưa ai biết mình đang làm gì và ở đâu.Ka ka.
                      Bác sống ẩn giật mà có 371 bài viết, vậy em cũng là sống ẩn giật đó.
                      Computer Science major - Vietnamese-German University
                      Sponsored by

                      Comment


                      • #12
                        Mình cũng muốn tìm hiểu về USB và sử dụng cổng USB của PIC (thay cho USB2COM), nhưng chưa có thời gian.
                        Các bài viết của các bạn sẽ rất hữu ích khi những người như mình cần học và sử dụng cổng USB của MCU. Đừng ngại chia sẻ, đừng sợ bị chê, các bạn đang đóng góp cho sự phát triển điện tử VN, thật đấy .
                        Thank you!

                        Comment


                        • #13
                          Hịc, chờ mãi mới có 1 câu nhận xét ý nghĩa.
                          Nghĩ nhiều lúc cũng buồn thật, viết là vì cộng đồng nhưng bị chém thì thẳng tay ,,,
                          Đời người nhiều lúc khó hiểu ......
                          My Face :

                          Comment


                          • #14
                            Nguyên văn bởi hienclubvn Xem bài viết
                            Hịc, chờ mãi mới có 1 câu nhận xét ý nghĩa.
                            Nghĩ nhiều lúc cũng buồn thật, viết là vì cộng đồng nhưng bị chém thì thẳng tay ,,,
                            Đời người nhiều lúc khó hiểu ......
                            Tui cũng đã có làm project về USB (USBtoCOM) , nhưng rồi cũng rút là đc chút ít kinh nghiệm chia sẻ :

                            - Khi sử dụng chip Master vừa giao tiếp USB vừa thực hiện một số chưong trình thì hầu như k khả thi . Lí do : các hàm usb_task , usb_cdc_kbhit (CCS) cần phải đc gọi vòng lặp liên tục thì cổng USB mới đc nhận dạng , còn k lập tức báo lỗi k nhận ra thiết bị .

                            - Khi nạp lại chuơng trình , cổng USB khởi tạo lại . các bạn sẽ thấy rõ rắc rối này : giao diện viết trên máy tính đang chạy với cổng USB , tự nhiên bị mất cổng , chắc chắn sẽ báo lỗi hoặc bị treo .

                            Do đó , nên khuyên : dùng riêng 1 con master để giao tiếp USB , mục đích duy trì trạng thái ổn định cổng . Các chưong trình còn lại viết trên con Slave .

                            Kinh nghiệm làm project usbtocom có giúp đc j thì chia sẻ ae vậy . Mong ae ý kiến thêm

                            Comment


                            • #15
                              Nguyên văn bởi Zz_Bi_zZ Xem bài viết
                              Tui cũng đã có làm project về USB (USBtoCOM) , nhưng rồi cũng rút là đc chút ít kinh nghiệm chia sẻ :

                              - Khi sử dụng chip Master vừa giao tiếp USB vừa thực hiện một số chưong trình thì hầu như k khả thi . Lí do : các hàm usb_task , usb_cdc_kbhit (CCS) cần phải đc gọi vòng lặp liên tục thì cổng USB mới đc nhận dạng , còn k lập tức báo lỗi k nhận ra thiết bị .

                              - Khi nạp lại chuơng trình , cổng USB khởi tạo lại . các bạn sẽ thấy rõ rắc rối này : giao diện viết trên máy tính đang chạy với cổng USB , tự nhiên bị mất cổng , chắc chắn sẽ báo lỗi hoặc bị treo .

                              Do đó , nên khuyên : dùng riêng 1 con master để giao tiếp USB , mục đích duy trì trạng thái ổn định cổng . Các chưong trình còn lại viết trên con Slave .

                              Kinh nghiệm làm project usbtocom có giúp đc j thì chia sẻ ae vậy . Mong ae ý kiến thêm
                              Chẳng lẽ chương trình của bác không có vòng lặp chính, chẳng lẽ chương trình của bác chạy xong là reset liên tục sao.
                              Theo tôi code chuẩn nó là thế này
                              Code:
                                 usb_init_cs(); // Khoi tao thiet bi USB
                                 while (1) { // Vong lap chinh firmware
                                    usb_task();
                                    if (usb_enumerated()) { // Kiem tra USB co ket noi chua?
                                       if (usb_kbhit(1)) { // Kiem tra co du lieu trong buffer khong?
                                          // Nhan du lieu
                                       }
                                    }
                                    // Code here, muon lam gi thi lam
                                 }
                              Trước khi nhận hay gửi dữ liệu, bác phải check usb_enumerated(), nếu ko sẽ gây ra lỗi nếu ko kết nối.
                              Nếu thiết bị ko dùng nguồn ngoài, hãy thay usb_init_cs() bằng usb_init(), nó sẽ chờ cho đến khi kết nối, nên bác ko cần gọi usb_task()
                              Còn chương trình của bác chắc reset dữ quá, máy tính chưa kịp check thì thiết bị của bác ngắt rồi sao mà ko báo lỗi sao đc.
                              Còn bác phí cả con master chỉ để kết nối USB thôi sao, phí phạm quá. Bác nên nghiên cứu thuật toán mới cải tiến vụ này chứ, bất đắc dĩ lắm mới làm như vậy.
                              Computer Science major - Vietnamese-German University
                              Sponsored by

                              Comment

                              Về tác giả

                              Collapse

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

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

                              Collapse

                              Đang tải...
                              X