STM32/STM8技术论坛
登录
直播中
王凯
8年用户
1388经验值
私信
关注
[问答]
STM32F107的HOST驱动USB键盘的对指示灯的控制失效
开启该帖子的消息推送
STM32F107
Host
USB键盘
现在实现了
STM32
F107 USB HOST读取键盘的数据,但是USB键盘的大小切换键CAPS LOCK和NUM LOCK键的指示灯却不对应亮灭。查资料说是,需要HOST给USB键盘发送数据,请问是怎么发送呢?
回帖
(22)
张华
2018-12-5 16:49:33
若是标准USB库,则是USBH_Set_Report函数,在USR_KEYBRD_ProcessData函数中使用。
若是标准USB库,则是USBH_Set_Report函数,在USR_KEYBRD_ProcessData函数中使用。
举报
王凯
2018-12-5 16:49:55
可以帮忙写一段范例代码吗?刚开始研究这个好多都不懂。
可以帮忙写一段范例代码吗?刚开始研究这个好多都不懂。
举报
王凯
2018-12-5 16:50:06
还有我用BUS HOUND监测到在USB HOST给键盘发送CTL、OUT数据后,键盘大小写指示灯才会亮灭。用怎么用USB HOST向发送这个几个数据呢,可以帮忙写段例子程序吗?
还有我用BUS HOUND监测到在USB HOST给键盘发送CTL、OUT数据后,键盘大小写指示灯才会亮灭。用怎么用USB HOST向发送这个几个数据呢,可以帮忙写段例子程序吗?
举报
王凯
2018-12-5 16:50:15
USBH_Status USBH_CtlSendData ( USB_OTG_CORE_HANDLE *pdev,
uint8_t *buff,
uint16_t length,
uint8_t hc_num)
比如这个参数hc_num,不明白这个参数的意思。看了些资料看的不太明白。
USBH_Status USBH_CtlSendData ( USB_OTG_CORE_HANDLE *pdev,
uint8_t *buff,
uint16_t length,
uint8_t hc_num)
比如这个参数hc_num,不明白这个参数的意思。看了些资料看的不太明白。
举报
王凯
2018-12-5 16:51:25
举报
h1654155275.5614
2018-12-5 16:51:37
如果有那个功能,一定提供了标准库函数,而且会给例程,怎么用库。
如果有那个功能,一定提供了标准库函数,而且会给例程,怎么用库。
举报
王萍
2018-12-5 16:51:49
官方有示例的,你用的是标准库?还是HAL库? 标准库请看STM32_USB-Host-Device_Lib_V2.1.0内的示例,HAL库直接看Cube内CubeF下USB的Host示例。
官方有示例的,你用的是标准库?还是HAL库? 标准库请看STM32_USB-Host-Device_Lib_V2.1.0内的示例,HAL库直接看Cube内CubeF下USB的Host示例。
1
举报
huanqing95:
请问Cube内CubeF下USB的Host示例在哪里?
陈丽
2018-12-5 16:51:58
没有看到键盘给的报告描述符,要知道这个后才能知道该如何向键盘发送消息。给demo是没有意义的,就是调用USBH_Set_Report函数给键盘发送消息,问题的关键是发送的内容是在报告描述符内定义的,得根据实际情况来,你多学习下吧,多花点时间。
没有看到键盘给的报告描述符,要知道这个后才能知道该如何向键盘发送消息。给demo是没有意义的,就是调用USBH_Set_Report函数给键盘发送消息,问题的关键是发送的内容是在报告描述符内定义的,得根据实际情况来,你多学习下吧,多花点时间。
举报
王凯
2018-12-5 16:52:07
我用BUS bound监测到,电脑给键盘发送报告描述符,即0x21,0x09,0x00,0x02,0x00,0x00,0x01,0x00。以及发送OUT,即 0x03。发送这些数据后,键盘指示灯会亮。搞不明白怎么通过stm32 HOST发送这些数据。
我用BUS bound监测到,电脑给键盘发送报告描述符,即0x21,0x09,0x00,0x02,0x00,0x00,0x01,0x00。以及发送OUT,即 0x03。发送这些数据后,键盘指示灯会亮。搞不明白怎么通过stm32 HOST发送这些数据。
举报
王萍
2018-12-5 16:52:24
BUS BOUND这个工具不是专业的USB开发工具,它实际与USB的数据对应关系我不熟,但可以肯定的是前面那个就是用USBH_Set_Report这个函数发的。
BUS BOUND这个工具不是专业的USB开发工具,它实际与USB的数据对应关系我不熟,但可以肯定的是前面那个就是用USBH_Set_Report这个函数发的。
举报
王凯
2018-12-5 16:53:08
举报
王凯
2018-12-5 16:53:18
前面OUT对应的0x03用哪个函数发送啊?
前面OUT对应的0x03用哪个函数发送啊?
举报
王波
2018-12-5 16:53:30
比如使用同步传输接口就能产生OUT的TRANSACTION,但这里明显不是,估计你换个工具可能就没有这个OUT了,BUS BOUND这个工具是不行的,USB的各种传输以及USB事务都看不出对应关系,最最最重要的是,配置描述符,报告描述符这个最重要的枚举过程的数据都看不到其解析后的信息,只能望洋兴叹,只能参考。我也帮不了你的。
比如使用同步传输接口就能产生OUT的TRANSACTION,但这里明显不是,估计你换个工具可能就没有这个OUT了,BUS BOUND这个工具是不行的,USB的各种传输以及USB事务都看不出对应关系,最最最重要的是,配置描述符,报告描述符这个最重要的枚举过程的数据都看不到其解析后的信息,只能望洋兴叹,只能参考。我也帮不了你的。
举报
王莉
2018-12-5 16:53:43
这个,不能保证每个键盘都是一样的数据格式吧。
这个,不能保证每个键盘都是一样的数据格式吧。
举报
张娟
2018-12-5 16:53:52
你能读键盘按键,同理也就能写按键灯。
你能读键盘按键,同理也就能写按键灯。
举报
陈敏
2018-12-5 16:54:03
单片机自己分析报告描述符很麻烦,可以把键盘挂在电脑上用BUSHOUND抓数据知道收发数据格式。 然后单片机照着做就能读按键和写按键灯了。
单片机自己分析报告描述符很麻烦,可以把键盘挂在电脑上用BUSHOUND抓数据知道收发数据格式。 然后单片机照着做就能读按键和写按键灯了。
举报
王秀兰
2018-12-5 16:54:12
调用USBH_Set_Report函数给键盘发送消息
调用USBH_Set_Report函数给键盘发送消息
举报
王凯
2018-12-5 16:54:28
前面OUT对应的0x03用哪个函数发送啊?
前面OUT对应的0x03用哪个函数发送啊?
举报
王凯
2018-12-5 16:54:45
我就是把键盘挂在电脑上,然后通过BUS BOUND监测到电脑发送上述数据后,键盘的指示灯对应的亮灭。不知道那个OUT 0x03用stm32 USB host库中的哪个函数发送。
我就是把键盘挂在电脑上,然后通过BUS BOUND监测到电脑发送上述数据后,键盘的指示灯对应的亮灭。不知道那个OUT 0x03用stm32 USB host库中的哪个函数发送。
举报
更多回帖
rotate(-90deg);
回复
相关问答
STM32F107
Host
USB键盘
STM32F107
做
USB
host
识别自定义HID设备有了解的吗
2018-12-07
4320
STM32F107
做
USB
主机
键盘
,
键盘
上那3个LED
灯
的功能怎么按都不起作用是怎么回事?
2024-05-14
617
STM32F107
开发板板载资源包括哪些
2021-10-27
1821
为什么
STM32F107
+uCOSIII+LwIP程序运行一下后就进入HardFault_Handler(void)函数?
2019-08-28
1964
急!两个单片机之间用
USB
通信行吗?
2015-12-17
12612
STM32F107
的
USB
连接显示有问题该怎么办?
2019-08-12
1492
STM32F
103和
STM32F107
的主要区别有哪些
2021-10-15
3424
如何通过以太网实现
STM32F107
在线升级
2017-03-16
6528
怎样将
STM32F
103工程移植成
STM32F107
工程呢
2021-10-27
2423
STM32F107
2012-08-28
2721
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
首页
论坛版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分