Hid compliant mouse là gì

Bài viết này trình diễn về tính năng USB Human Interface Device (USB HID) bên trên MCU STM32F103C8T6 cùng với vấn đề trả lập MCU thành loài chuột máy tính xách tay cùng với 4 nút ít nhận (nút ít cliông chồng phải, nút ít click trái, nút ít dịch chuyển xuống, nút ít di chuyển hẳn qua phải). Trước khi ban đầu project, họ hãy cùng tò mò USB là gì rồi new mang đến biện pháp tiến hành công dụng USB HID trên STM32F103C8T6.

Bạn đang xem: Hid compliant mouse là gì

Giới thiệu

USB (Universal Serial Bus) là chuẩn chỉnh truyền thông nối liền để đảm bảo những kết nối tiêu chuẩn cho các đồ vật Plug & Play (gặm và chạy) như: keyboard, con chuột, các đầu đọc thẻ nhớ ghi nhớ, thiết bị in… 

Để dễ dãi biệt lập những thứ gặm vào máy tính xách tay người ta chia thành những lớp USB như sau:

Phân lớp thiết bịMiêu tảThiết bị ví dụ
0x00(không dùng)
0x01USB audio deviceSoundcard (thẻ âm thanh)
0x02USB communications deviceModem, fax
0x03USB human interface deviceKeyboard, mouse
0x07USB printer deviceMáy in
0x08USB mass storage device (USB Thiết bị lưu trữ )Memory card, flash drive
0x09USB hub deviceHubs
0x0BUSB smart thẻ reader device ( USB Thiết bị hiểu thẻ thông minh)Card reader (cỗ hiểu thẻ nhớ)
0x0EUSB video clip device ( USB Thiết bị Video)Webcam, scanner
0xE0USB wireless device ( USB Thiết bị wireless)Bluetooth

Xem chi tiết trên đây

Mô tả công dụng USB trong STM32F103C8T6

– Hỗ trợ chuẩn chỉnh USB 2.0

– Tốc độ liên kết qua USB sinh hoạt chế độ Full Speed (FS) là 12Mbps, còn ở chính sách Low Speed (LS) là 1.5Mbps.

– Sơ thiết bị khối nước ngoài vi USB của STM32

*

USB endpoints

– Endpoint là thuật ngữ tương quan đến Hartware trong đồ vật USB, thực chất endpoint là 1 trong những bộ đệm để rất có thể truyền/dấn dữ liệu.

– Mỗi endpoint kèm theo với một khối diễn tả đựng các thông tin: liên tưởng của endpoint vào bộ nhớ, kích cỡ endpoint cùng số byte truyền đi.

– Lúc 1 biểu lộ đến endpoint được phát hiện tại thì tài liệu sẽ tiến hành tương truyền và nạp vào tkhô giòn ghi 16 bit (Endpoint registers), mặt khác câu hỏi truy cập bộ nhớ lưu trữ vào Packet buffer được tiến hành. Tại cuối transaction, một ngắt sẽ tiến hành xuất hiện giúp MCU phạt hiện nay endpoint như thế nào triển khai transaction và biết lỗi nếu như xảy ra (lỗi format, thiếu thốn ACK, …).

Xem thêm: Tính Từ Và Cụm Tính Từ Là Gì ? Đặt Câu Ví Dụ ✔️✔️

– Khối hận Interrupt Mapper có một công dụng xứng đáng quan tâm đó là USB wakeup interrupt. Chức năng này dùng để đánh thức vật dụng lúc đã sinh sống trong chế độ low-power mode.

Tính năng USB human interface device class của USB

HID (Human Interface Device): là 1 phân lớp trong tiêu chuẩn chỉnh USB. Một sản phẩm HID có thể được lập trình sẵn để có mang lại công dụng của chính nó. Thiết bị HID trong bài viết này là 1 trong chuột máy tính.

Lớp USB human interface device góp câu hỏi làm việc trên những trang bị trnghỉ ngơi buộc phải dễ dãi. Các trang bị định nghĩa những gói dữ liệu của chính nó (bao gồm các ban bố sản phẩm hỗ trợ từng nào gói tài liệu, size từng gói với mục đích của từng byte trong dữ liệu), tiếp đến gửi cho Host.


CubeMX setup

Bước 1:

– Tại mục USB_DEVICE lựa chọn Human Interface Device Class

*

– Tại mục RCC lựa chọn Crystal/Ceramic Resonator nhằm lựa chọn bộ thạch anh ngoại

*

– Mục SYS, chọn Serial Wire để nạp code với debug

*

– Mục USB, chọn Device (FS)

*

– Chọn các chân PA0, PA1, PA2, PA3 làm cho input

*

Bước 2: Thiết lập cloông xã mang lại MCU

*

Cách 3: Cấu hình project với sinc code

– Chọn Project Manager -> Project -> đặt tên cho Project.

*

– Tại Toolchain /IDE chọn MDK-ARM V5

*

Bước 4: Generate code

Keil C uVisionTrước Khi bước đầu vào code, chúng ta build công tác rồi load vào kit. Sau Lúc load chấm dứt, kiểm soát xem thử máy tính xách tay đã nhận được được cổng ảo xuất xắc không bởi cách:– Kích con chuột đề nghị vào This PC chọn Manage -> Device Manager -> Mice and other pointing devices -> HID-compliant mouse. Vì công tác khoác định là áp dụng USB HID Mouse yêu cầu ví như laptop nhận ra port của MCU thì sẽ lộ diện HID-compliant mouse.

Leave a Reply

Your email address will not be published. Required fields are marked *