PIC Vietnam

Go Back   PIC Vietnam > Truyền thông > Giao tiếp USB, CAN, I2C, SPI, USART...

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Tìm Kiếm Bài Trong Ngày Ðánh Dấu Ðã Ðọc Vi điều khiển

Giao tiếp USB, CAN, I2C, SPI, USART... Những giao tiếp được tích hợp trên PIC

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 16-12-2006, 01:13 PM   #1
ntc
Đệ tử 8 túi
 
ntc's Avatar
 
Tham gia ngày: Oct 2005
Nơi Cư Ngụ: HCM city
Bài gửi: 264
:
Send a message via Yahoo to ntc
Trích:
Có ok không nhỉ ?
Em nghĩ là ok.

Mình không cần delay, chỉ cần hỏi vòng trị trả về của hàm MPUSBRead. Làm như vậy sẽ tận dụng được tối đa khả năng truyền nhận, và giảm bớt khoảng thời gian delay thừa.

Ví dụ, mình cần nhận 10 byte, mình chọn thời gian delay là 10 ms. Giả sử sau khi time out (hết 10 ms), mới đọc được có 9 byte, thì vẫn phải tiếp tục delay thêm 10 ms chỉ để đọc nốt 1 byte còn lại, như vậy thời gian delay thừa sẽ phát sinh.

Cái này giống như kiểu, ngư một giấc, thức dậy hỏi, xong chưa? chưa xong hả? ngủ tiếp! thức dậy hỏi ...

Mình cứ break, kệ nó, cho nó đọc thoải mái, chỉ cần biết là đã xong hay chưa thôi (dựa vào trị trả về của hàm MPUSBRead) để xử lí tiếp. Như vậy ta có thể xác định chính xác hơn thời điểm kết thúc truyền nhận, và tận dụng được tối đa khả năng truyền nhận.

Cái này giống như kiểu, hỏi liên tục, xong chưa? xong chưa? chưa xong hả? làm tiếp đi? xong chưa? ...

Nhưng nhiều khi cái thời gian hỏi lòng vòng lại nhiều hơn thời gian delay ấy nhỉ.

__________________

ntc vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 17-12-2006, 09:23 AM   #2
bien_van_khat
...Damned...
 
bien_van_khat's Avatar
 
Tham gia ngày: Apr 2006
Nơi Cư Ngụ: Hồ Chí Minh
Bài gửi: 522
:
Trích:
Nguyên văn bởi ntc View Post
Em nghĩ là ok.
Mình cứ break, kệ nó, cho nó đọc thoải mái, chỉ cần biết là đã xong hay chưa thôi (dựa vào trị trả về của hàm MPUSBRead)
Cái này giống như kiểu, hỏi liên tục, xong chưa? xong chưa? chưa xong hả? làm tiếp đi? xong chưa? ...
để xử lí tiếp.
Cậu thực hiện công việc này như thế nào? Quay đi quay lại gọi hàm ReadFile à?

Trích:
if(!bResult)
{
CancelIo(handle);
break;
}
Nếu bạn CancelIo chỗ này, đồng nghĩa với việc bạn bỏ tác vụ IO, trong khi nó còn đang PENDING (ko tính lỗi), tức là chắc chắn bạn ko có dữ liệu. Như vậy là sao?

Hì, ở đây tớ hỏi nhé, ko phải xỏ xiên gì đâu
bien_van_khat vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 17-12-2006, 03:22 PM   #3
hungbkhn
Trưởng lão PIC bang
 
Tham gia ngày: Jun 2006
Bài gửi: 39
:
ban thử với dll mình dịch xem có chạy ko, nếu báo lỗi gì thì post lên nhé, hì, sau phân tích tiếp, mình giờ ko có dk để thử
hungbkhn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 17-12-2006, 03:26 PM   #4
hungbkhn
Trưởng lão PIC bang
 
Tham gia ngày: Jun 2006
Bài gửi: 39
:
zip lai moi gui duoc
File Kèm Theo
File Type: zip new.zip (46.2 KB, 258 lần tải)
hungbkhn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 17-12-2006, 03:42 PM   #5
hungbkhn
Trưởng lão PIC bang
 
Tham gia ngày: Jun 2006
Bài gửi: 39
:
cái hồi nãy dịch bằng VC, cái này dịch bằng BC, bạn thử luôn cả 2 cái nhé
File Kèm Theo
File Type: zip mpusbapi.zip (28.3 KB, 163 lần tải)
hungbkhn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 06-03-2007, 10:25 AM   #6
tranhuyky
Đệ tử 2 túi
 
Tham gia ngày: Nov 2006
Bài gửi: 39
:
Send a message via Yahoo to tranhuyky
ví dụ về usb nè bà con

Chào các bạn,
Mình tìm được 1 ví dụ về usb, thấy hay hay nên post lên cho các bạn xem thử. ^_^
ps: phần HID là 1 keyboard usb, bạn nào làm thêm được phần cho nó boot được từ BIOS thì chỉ mình với nhe.
Hình Kèm Theo
File Type: gif RRUSB_Complete_Minimal_Hardware.gif (24.0 KB, 207 lần tải)
File Kèm Theo
File Type: rar Bulk-Cdc-Hid USB.rar (544.3 KB, 569 lần tải)

thay đổi nội dung bởi: tranhuyky, 06-03-2007 lúc 09:32 PM. Lý do: cập nhật
tranhuyky vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 06-03-2007, 10:30 AM   #7
tranhuyky
Đệ tử 2 túi
 
Tham gia ngày: Nov 2006
Bài gửi: 39
:
Send a message via Yahoo to tranhuyky
keyboard usb truy xuất được trong BIOS và DOS?

Ví dụ HID ở trên viết về keyboard usb dùng lớp HID. Mình đã làm keyboard usb rồi, nó hoạt động bình thường trong windows, nhưng khi khởi động máy thì không truy xuất được vào BIOS và không vào DOS được( chỉ boot được trong windows thôi). Mình đã chỉnh 2 trường subclass và protocol là 1 rồi những vẫn không vào bios được.
Bạn nào biết giúp mình với.
tranhuyky vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 27-05-2008, 03:27 PM   #8
hopeman
Đệ tử 6 túi
 
hopeman's Avatar
 
Tham gia ngày: Jul 2007
Bài gửi: 146
:
làm sao để con 18F4550 giao tiếp ở USB 2.0

mình đã làm giao tiếp USB HID cho con 18F4550 nhưng tốc đô truyền dữ liệu còn chậm quá, mình muốn làm nó chạy ở chế độ 2.0 full speed cho chuẩn HID này nhưng ko biết làm thế nào? bạn nào biết rồi chỉ mình với . khi viết code mình sử dụng các thư viện có sẵn của CCS
__________________
mạch nạp - kit phát triển - linh kiện điện tử www.PNLabvn.com
hopeman vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 28-05-2008, 03:35 PM   #9
bien_van_khat
...Damned...
 
bien_van_khat's Avatar
 
Tham gia ngày: Apr 2006
Nơi Cư Ngụ: Hồ Chí Minh
Bài gửi: 522
:
Trích:
Nguyên văn bởi hopeman View Post
mình đã làm giao tiếp USB HID cho con 18F4550 nhưng tốc đô truyền dữ liệu còn chậm quá, mình muốn làm nó chạy ở chế độ 2.0 full speed cho chuẩn HID này nhưng ko biết làm thế nào? bạn nào biết rồi chỉ mình với . khi viết code mình sử dụng các thư viện có sẵn của CCS
Tốc độ truyền nhận dữ liệu thực tế phụ thuộc vào
+ Tốc độ bus
+ Tốc độ xử lý dữ liệu của đơn vị điều khiển.
Đối với 18F4550, tốc độ bus là full-speed
HID được thiết kế không nhắm vào mục đích tải dữ liệu tốc độ cao, về lý thuyết tốc độ tối đa là 64KBs. Để tăng tốc độ của HID bạn có thể tăng Endpoint buffer size tối đa là 64byte (mặc định là 8byte), giảm thời gian polling của host tối thiểu là 1ms.

Tuy nhiên như đã nói ở trên, tốc độ thực phụ thuộc rất nhiều vào quá trình xử lý dữ liệu của PIC.
__________________
- Xin đọc trước khi post bài

Xin đặt code trong thẻ [ code ] [ /code ]
bien_van_khat vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 29-05-2008, 12:12 PM   #10
hopeman
Đệ tử 6 túi
 
hopeman's Avatar
 
Tham gia ngày: Jul 2007
Bài gửi: 146
:
Thumbs up tăng tốc USB HID

mình đã thử tăng buffer lên 64 và cũng đã để thời gian poilling xuống 1ms (mặc dù nó cảnh báo là ko được để nhỏ hơn 10ms ) nhưng thực sự là chưa tăng được đáng kể tốc độ truyền ( giờ này vẫn chậm hơn Com nhiều lắm ) . mình nhận thấy là chip mình đang chạy ở chế độ Full speed nhưng lại ở USB version 1.0 . mình nghĩ là vấn đề mấu chốt là ở trỗ làm sao để lên thành USB Version 2.0 ( vì con này có hỗ trợ 2.0 ) .còn về chuẩn HID thì mình thấy nó cũng cho chạy được 64Kb ở tốc độ Full Speed 2.0 mà , còn high Speed thì lên tận 40MB/s lận .BVK có biết làm thiết lập cái gì để nó chạy ở USB Version 2.0 hay ko?
__________________
mạch nạp - kit phát triển - linh kiện điện tử www.PNLabvn.com
hopeman vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 30-05-2008, 06:40 PM   #11
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Trích:
Nguyên văn bởi hopeman View Post
mình đã thử tăng buffer lên 64 và cũng đã để thời gian poilling xuống 1ms (mặc dù nó cảnh báo là ko được để nhỏ hơn 10ms ) nhưng thực sự là chưa tăng được đáng kể tốc độ truyền ( giờ này vẫn chậm hơn Com nhiều lắm ) . mình nhận thấy là chip mình đang chạy ở chế độ Full speed nhưng lại ở USB version 1.0 . mình nghĩ là vấn đề mấu chốt là ở trỗ làm sao để lên thành USB Version 2.0 ( vì con này có hỗ trợ 2.0 ) .còn về chuẩn HID thì mình thấy nó cũng cho chạy được 64Kb ở tốc độ Full Speed 2.0 mà , còn high Speed thì lên tận 40MB/s lận .BVK có biết làm thiết lập cái gì để nó chạy ở USB Version 2.0 hay ko?
Full-speed 2.0 và full-speed 1.x khác nhau chỗ nào?

Thân,
__________________
Biển học mênh mông, sức người có hạn.

Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=1263
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Trả lời

Ðiều Chỉnh
Xếp Bài

Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến


Múi giờ GMT. Hiện tại là 11:19 AM.


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam