最近在学习RT-thread,想要实现使用USB HID的数据收发,USB设备类型是人机接口设备,但是发现发送数据时没有反应,但是电脑是能识别到USB设备的,并且已经读取到USB设备的PID和VID,说明设备初始化等操作没有问题。
根据官网的手册,在操作I/O设备时(这儿的I/O设备是USB)可以使用rt_device_write函数来实现数据的发送,然后去百度查找别人怎么实现数据发送的,看到一篇文章的使用如下图:
然后我也按照这个图片里面的使用方法,但是数据仍然发送不了,后面仔细查看RTT的官方文档,官方文档里面对于ops操作说明如下图:
但是参考别人给的ops数值是0,这个地方就是有问题的,后面查找了一下,在usb_common.h中找到了关于HID操作的ops值,如下图:
最后更改rt_device_write函数的ops值就可以实现数据发送了,如下图:
总结:由于对RTT不熟悉,并且没有仔细参考官方文档,并且一味的只参考别人的程序,最后导致在这个地方卡了半天,RTT相较于其他RTOS还是很好用的,但是还需多件学习和熟悉。
-
USB接口
+关注
关注
9文章
708浏览量
57303 -
HID设备
+关注
关注
0文章
5浏览量
6627 -
RT-Thread
+关注
关注
32文章
1437浏览量
42328
发布评论请先 登录
了解RT-thread是如何配置和使用串口进行数据收发的
求大神给个指点RT-Thread HID收发数据入口在哪里
如何使用RT-Thread的串口设备
RT-Thread编程指南
记录——基于 RT-Thread 实现 USB 虚拟串口

RT-Thread Studio驱动SD卡

RT-thread应用讲解——U盘(usb host)

基于 RT-Thread 在 STM32 上实现 USB 虚拟串口

RT-Thread学习笔记 RT-Thread的架构概述

RT-Thread文档_RT-Thread 潘多拉 STM32L475 上手指南

评论