cdx 发表于 2024-3-12 10:46:05

USB技术问题 :通过主机发数据给设备,设备可以发数据给主机,双向的

我现在想实现一个功能:
通过主机发数据给设备,设备可以发数据给主机,双向的。

我下载STC的例程代码 (71-STC_USB_鼠标键盘复合例程),
主机读不到USB设备,用范例的(66-通过USB HID协议打印数据信息-可用于调试),
主机可以检测到USB设备 请问一下各位大佬

使用的是STC8H8K64U, 48个脚的



乘风飞扬 发表于 2024-3-12 10:59:04

例程 main.c 文件前面有这个例子的功能说明

71-STC_USB_鼠标键盘复合例程是实现鼠标、键盘功能的方案。
做HID数据收发通信的话,就参考66例子吧。

cdx 发表于 2024-3-12 11:43:51

乘风飞扬 发表于 2024-3-12 10:59
例程 main.c 文件前面有这个例子的功能说明

71-STC_USB_鼠标键盘复合例程是实现鼠标、键盘功能的方案。


66例子没代码

cdx 发表于 2024-3-12 11:47:49

/*************功能说明**************

本例程基于STC8H为主控芯片的实验箱进行编写测试。

通过加载"stc_usb_hid_8h_data.LIB"库文件,简便的实现使用USB接口打印数据信息,可用于程序调试.

P3.2口按键演示"printf"函数输出数据;

P3.3口按键演示"ShowLong"函数输出长整型数据;

P3.4口按键演示"ShowFloat"函数输出浮点数数据;

P3.5口按键演示"ShowCode"函数输出8字节数组数据;

在"config.h"文件里选择"PRINTF_SEGLED"定义,printf输出数据格式重定向到ISP下载软件中的7段数码管

在"config.h"文件里选择"PRINTF_HID"定义,printf输出直接重定向到USB HID接口

下载时, 选择时钟 24MHz (可在"config.h"文件里修改).

******************************************/
用的静态库,我看不到代码,咋使用

晓飛飛 发表于 2024-3-12 12:36:22

基于单片机通过HID主动发数据的例子确实好像没有,不过可以自己改

cdx 发表于 2024-3-12 14:11:59

晓飛飛 发表于 2024-3-12 12:36
基于单片机通过HID主动发数据的例子确实好像没有,不过可以自己改

就是不会在联系到了你们,我要是会自己改也不会在这问,麻烦你们了
有没有可能开放一下你们静态库的源码


stc_usb_hid_8h_data.lib 这个文件的源码

cdx 发表于 2024-3-12 14:21:54

还有一个问题,为啥鼠标的范例会检测不到USB设备,虽然它只有鼠标的功能,但是它也是USB—HID
设备啊,比如我们日常使用的鼠标都可以的检测的到的啊

乘风飞扬 发表于 2024-3-12 17:01:36

cdx 发表于 2024-3-12 14:21
还有一个问题,为啥鼠标的范例会检测不到USB设备,虽然它只有鼠标的功能,但是它也是USB—HID
设备啊,比如 ...

USB设备可在设备管理器里面查看,或者STC-ISP软件的“USB-HID助手”里面找。

如果你只是想通过HID接口进行数据收发的话,最简单的是参考例子:60-HID(Human Interface Device)协议范例
例程收到数据后原样进行返回:


你可以在这里做个标志,然后主循环判断标志对接收的数据进行处理。

发送数据时可以调用这个函数,几个参数分别是发送数据的缓冲区、数据长度、端点。

使用STC-ISP软件的“USB-HID助手”进行测试:



cdx 发表于 2024-3-13 10:59:07

乘风飞扬 发表于 2024-3-12 17:01
USB设备可在设备管理器里面查看,或者STC-ISP软件的“USB-HID助手”里面找。

如果你只是想通过HID接口进 ...

好的,我自己找到了

55337575 发表于 2024-3-19 09:40:27

可以参考一下我的帖子,源码
https://www.stcaimcu.com/forum.php?mod=viewthread&tid=7218
页: [1] 2
查看完整版本: USB技术问题 :通过主机发数据给设备,设备可以发数据给主机,双向的