找回密码
 立即注册
查看: 159|回复: 9

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

[复制链接]

该用户从未签到

1

主题

5

回帖

25

积分

新手上路

积分
25
发表于 2024-3-12 10:46:05 | 显示全部楼层 |阅读模式
我现在想实现一个功能:
通过主机发数据给设备,设备可以发数据给主机,双向的。

我下载STC的例程代码 (71-STC_USB_鼠标键盘复合例程),

主机读不到USB设备,用范例的(66-通过USB HID协议打印数据信息-可用于调试),
主机可以检测到USB设备 请问一下各位大佬

使用的是STC8H8K64U, 48个脚的

截图202403121051499905.jpg


回复 送花

使用道具 举报

  • TA的每日心情
    奋斗
    4 小时前
  • 签到天数: 133 天

    [LV.7]常住居民III

    26

    主题

    1302

    回帖

    4061

    积分

    论坛元老

    积分
    4061
    发表于 2024-3-12 10:59:04 | 显示全部楼层
    例程 main.c 文件前面有这个例子的功能说明
    截图202403121056145729.jpg
    71-STC_USB_鼠标键盘复合例程是实现鼠标、键盘功能的方案。
    做HID数据收发通信的话,就参考66例子吧。
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    1

    主题

    5

    回帖

    25

    积分

    新手上路

    积分
    25
     楼主| 发表于 2024-3-12 11:43:51 | 显示全部楼层
    乘风飞扬 发表于 2024-3-12 10:59
    例程 main.c 文件前面有这个例子的功能说明

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

    66例子没代码
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    1

    主题

    5

    回帖

    25

    积分

    新手上路

    积分
    25
     楼主| 发表于 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"文件里修改).

    ******************************************/
    用的静态库,我看不到代码,咋使用
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    13 小时前
  • 签到天数: 89 天

    [LV.6]常住居民II

    13

    主题

    336

    回帖

    778

    积分

    荣誉版主

    热心市民

    积分
    778
    发表于 2024-3-12 12:36:22 | 显示全部楼层
    基于单片机通过HID主动发数据的例子确实好像没有,不过可以自己改
    睁开眼睛做场梦~~~
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    1

    主题

    5

    回帖

    25

    积分

    新手上路

    积分
    25
     楼主| 发表于 2024-3-12 14:11:59 | 显示全部楼层
    晓飛飛 发表于 2024-3-12 12:36
    基于单片机通过HID主动发数据的例子确实好像没有,不过可以自己改

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


    stc_usb_hid_8h_data.lib 这个文件的源码
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    1

    主题

    5

    回帖

    25

    积分

    新手上路

    积分
    25
     楼主| 发表于 2024-3-12 14:21:54 | 显示全部楼层
    还有一个问题,为啥鼠标的范例会检测不到USB设备,虽然它只有鼠标的功能,但是它也是USB—HID
    设备啊,比如我们日常使用的鼠标都可以的检测的到的啊
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    4 小时前
  • 签到天数: 133 天

    [LV.7]常住居民III

    26

    主题

    1302

    回帖

    4061

    积分

    论坛元老

    积分
    4061
    发表于 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)协议范例
    例程收到数据后原样进行返回:
    截图202403121656325782.jpg

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

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

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

    截图202403121700347820.jpg

    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    1

    主题

    5

    回帖

    25

    积分

    新手上路

    积分
    25
     楼主| 发表于 2024-3-13 10:59:07 | 显示全部楼层
    乘风飞扬 发表于 2024-3-12 17:01
    USB设备可在设备管理器里面查看,或者STC-ISP软件的“USB-HID助手”里面找。

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

    好的,我自己找到了
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    2024-3-22 08:53
  • 签到天数: 7 天

    [LV.3]偶尔看看II

    8

    主题

    37

    回帖

    256

    积分

    等待验证会员

    积分
    256
    发表于 2024-3-19 09:40:27 | 显示全部楼层
    可以参考一下我的帖子,源码
    https://www.stcaimcu.com/forum.php?mod=viewthread&tid=7218
    回复 支持 反对 送花

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

    GMT+8, 2024-5-6 13:41 , Processed in 0.070998 second(s), 68 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表