cần pro giúp đỡ về pic18f2550 !

Collapse
X
 
  • Giờ
  • Show
Clear All
new posts
  • thelaxong
    Thành viên tích cực
    • May 2009
    • 198

    #1

    cần pro giúp đỡ về pic18f2550 !

    tình hình là em đang làm giao tiếp USB pic 18f2550 với PC, nhưng em không biết làm cách nào để gửi dữ liệu lên PC. Đọc trong datasheet thì không thấy có ngắt nào báo hiệu là đã gửi dữ liệu. Em đọc trong các ví dụ có sẵn của CCS em không hiểu nhiều cho lắm.

    Anh chị nào am hiểu về USB của con này giúp em với !
    Đọc tài liệu gần 2 tuần rồi mà không hiểu gì hết, hic !
  • caremlanh
    Thành viên chính thức
    • Jul 2010
    • 41

    #2
    Điều khiển PC từ xa bằng RF qua USB - PIC Vietnam
    bạn tham khảo ở đây xem

    Comment

    • trimen
      Thành viên tích cực
      • Nov 2009
      • 189

      #3
      bạn đọc file ex_usb_hid có ví rất rõ cách truyền và nhận dữ liệu từ máy tính, để hiểu rõ hơn các hàm này bạn vào đọc file usb.c và usb.h, hàm send dữ liệu là hàm usb_put_packet(). Và đây là đoạn mô tả hàm đó trong usb.c:

      usb_put_packet(endpoint, ptr, len, tgl) - Sends one packet to the host. If you need to send a message that spans more than one packet then use usb_puts(). Fore more detailed documentation see usb_hw_layer.h

      Comment

      • thelaxong
        Thành viên tích cực
        • May 2009
        • 198

        #4
        thanks, các bạn đã trả lời !

        Comment

        • thelaxong
          Thành viên tích cực
          • May 2009
          • 198

          #5
          trimen ông có thể chỉ tui cách gửi dữ liệu trong con pic 18f2550 không. Thanh ghi địa chỉ BD0ADRL và BD0ADRH dùng để làm gì? Nếu mình viết dữ liệu vào 1 vùng RAM nào đó, làm sao để USB gửi được dử liệu này ?

          Comment

          • trimen
            Thành viên tích cực
            • Nov 2009
            • 189

            #6
            bạn viết bằng c hay asm mà quan tâm kĩ đến các thanh ghi vậy, để gửi dữ liệu thì dùng hàm như mình nói thôi, 2 thanh ghi trên theo datasheet thì là 2 thanh ghi chứa địa chỉ bắt đầu của bộ đệm cho endpoint 0 trong vùng bộ nhớ dành riêng cho giao tiếp USB, 2 thanh ghi này nằm trong 4 thanh ghi mô tả bộ đệm dành cho endpoint. Mình chỉ dùng C và các hàm có sẵn để viết nên ko rõ lắm về điều này.

            Comment

            • thelaxong
              Thành viên tích cực
              • May 2009
              • 198

              #7
              thanks, mình viết bằng C nhưng viết theo kiểu phần cứng. Nghĩa là đọc cách thức hoạt động phần cứng rồi viết câu lệnh, mình ít xài các câu lệnh có sẵn vì như vậy không hiểu được cách thức hoạt động của phần cứng.

              Comment

              • rptdnmqs
                Thành viên tích cực
                • Nov 2008
                • 440

                #8
                Khó đấy.Vất vả.Rất nhiều cái với cái usb.Firmware,device driver and software.
                , , ,

                Comment

                • hienclubvn
                  Thành viên tích cực
                  • Nov 2010
                  • 169

                  #9
                  Tại sao cứ loằng ngoằng như vậy nhỉ ? bạn dùng CCS, mà nó lại có sẵn hàm rồi, sao ko dùng đi cho tiện. cứ cho là mình hiểu bản chất đi, nhưng cũng ko cần thiết là phải chơi đến từng thanh ghi. quật đại sự đi. Chạy được là OK mà.
                  xem ví dụ của CCS là khá cơ bản rồi. Với USB thì ko quan trọng là gửi và nhận được mà phải viết được Driver (Đây mới là việc cần phải bàn)
                  My Face :

                  Comment

                  • rptdnmqs
                    Thành viên tích cực
                    • Nov 2008
                    • 440

                    #10
                    Thiếu rồi bạn hienclubvn .Còn viết application giao tiếp với device driver .Cái này phải viết được device driver mới lên bước này.Đừng nói viết device driver kô nhé.
                    , , ,

                    Comment

                    • hienclubvn
                      Thành viên tích cực
                      • Nov 2010
                      • 169

                      #11
                      khi đã lựa chọn cho mình 1 Driver để giao tiếp. (Có thể dùng bất cứ cái gì đã được người ta hổ trợ) thì vấn đề viết chuơng trình còn có nghĩa gì đâu ? Với 1 người mới tập code cũng làm được điều này thôi.
                      Last edited by hienclubvn; 13-01-2012, 09:49.
                      My Face :

                      Comment

                      • rptdnmqs
                        Thành viên tích cực
                        • Nov 2008
                        • 440

                        #12
                        Uh.Đồng ý.
                        Last edited by rptdnmqs; 13-01-2012, 10:45.
                        , , ,

                        Comment

                        • hienclubvn
                          Thành viên tích cực
                          • Nov 2010
                          • 169

                          #13
                          Có thể lên Jan Axelson's Lakeview Research down các project có sẵn, nhất là 2 cái lib for cho C# về để dùng,
                          Last edited by hienclubvn; 13-01-2012, 09:50.
                          My Face :

                          Comment

                          • minh_cly
                            Thành viên tích cực
                            • Mar 2011
                            • 595

                            #14
                            Tui dùng giao tiếp USB thì thường dùng HID, ko cần driver, có sẵn cái lib cho c#.
                            Bạn đọc trong cuốn USB complete Chap 10 hay 11 gì đó, có mã sẵn cho VB.NET và c++, nếu bạn dùng c# thì phải translate từ VB sang.
                            Còn khi giao tiếp USB, khi gửi 1 gói lên PC thì thường tui gửi lại 1 gói để xác nhận.
                            Computer Science major - Vietnamese-German University
                            Sponsored by

                            Comment

                            • thelaxong
                              Thành viên tích cực
                              • May 2009
                              • 198

                              #15
                              bạn hướng dẫn mình thoát khỏi giai đoạn suspned được không, vì mình nạp code ( code do mình tự viết ) thì windows cứ báo là " unknows device" mình đọc trong USB complete thì biết được là cần phải đăng nhập vào giai đoạn suspend và sau đó là " đánh thức" thiết bị, sau đó thì host mới tiếp tục giao tiếp. Mình làm hoài mà không được, mong bạn giúp đỡ !

                              Comment

                              Về tác giả

                              Collapse

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

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

                              Collapse

                              There are no results that meet this criteria.

                              Đang tải...