随笔分类 -  USB

摘要:目录 在CH582的EVT包USB设备例程中,已有端点0~3的全部代码。端点4~7在手册中有描述,不过在例程中没有给出。 在端点0~7中,端点0与端点4与众不同。端点0只拥有64字节DMA缓存。这是符合USB协议标准的。作为USB设备都要默认支持的端点,USB协议要求设备的端点0是双向通信的;而其他 阅读全文
posted @ 2024-06-05 21:21 JayWell 阅读(133) 评论(1) 推荐(1) 编辑
摘要:目录 本文主要分析触摸屏的报表描述符,设备、配置描述符和其他描述符就不赘述了,可以参考HID类的JoyStick描述符 - JayWell - 博客园 (cnblogs.com)。 // 设备描述符 const uint8_t MyDevDescr[] = {0x12, 0x01, 0x10, 0x 阅读全文
posted @ 2023-06-29 14:05 JayWell 阅读(2796) 评论(0) 推荐(1) 编辑
摘要:目录 在一些情况下,需要USB口的引脚复用成其他功能,比如说PB10、PB11要复用成定时器输出引脚;或者需要USB从机主动断开,类似某些杀毒软件带的“安全弹出”,不过杀毒软件操作的是电脑主机,在mcu代码中操作的是芯片从机。 代码也很简单,以USB1口为例,关闭USB的使能需要如下两行代码。如果需 阅读全文
posted @ 2023-02-28 11:14 JayWell 阅读(323) 评论(0) 推荐(0) 编辑
摘要:目录 一般来说HID设备的报表在端点数量资源充裕的情况下都走中断端点上传,不会走控制端点即端点0上传,如果资源不足,可以利用端点0上传报表,USB协议中也是支持在端点0上传报表的。 以CH582为例,EVT中的键鼠复合例程中,键盘走端点1而鼠标走端点2上传报表,互不耽误。如果端点资源比较紧张,多个设 阅读全文
posted @ 2023-02-21 17:43 JayWell 阅读(418) 评论(0) 推荐(0) 编辑
摘要:目录 正常识别:可以在设备管理器中识别出USB Module 使用USB烧录的一般操作:按住评估板上的“Download”按键,或者将PB22短接到GND,同时给板子上电。若是第一次拿到芯片,codeflash中是空的,不用按住“Download”按键也可以被ISP工具识别。 如果碰到USB烧录异常 阅读全文
posted @ 2022-12-14 15:28 JayWell 阅读(1320) 评论(0) 推荐(0) 编辑
摘要:目录 以沁恒的CH582芯片为例,主机模式下,在R8_USB_INT_EN中可以使能RB_UIE_DETECT位,由中断来提醒检测USB设备的接入和移除;从机模式下,USB设备没有这样的中断功能(上述寄存器的同一位被用来判断USB总线复位事件)。如何在从机模式下检测有没有接入到USB总线呢? 方法一 阅读全文
posted @ 2022-11-22 15:38 JayWell 阅读(734) 评论(0) 推荐(0) 编辑
摘要:目录 1.12版本规范的GamePad参考报表描述符,报表格式如下图。 用CH582模拟GamePad,在电脑上显示的HID接口↓ 报表描述符↓,其他描述符可以直接参考JoyStick相关一文,改一下HID类描述符中的一个长度值即可,见文章最后。 const uint8_t GamePadRepDe 阅读全文
posted @ 2022-05-18 11:16 JayWell 阅读(1321) 评论(4) 推荐(0) 编辑
摘要:目录 本程序改编自沁恒官网2022年1月更新的CH583EVT中的CompoundDev例程。这里只贴了main.c中的程序。能够实现:①直接接电脑,在设备管理器中能够查到被电脑识别为HID-compliant game contorller;②在CH582m单片机中自定义了回包内容,通过USB抓包 阅读全文
posted @ 2022-03-02 15:05 JayWell 阅读(1170) 评论(0) 推荐(1) 编辑
摘要:目录 应用程序改自沁恒官网的CH583EVT包中的CompoundDev工程,配合下方的描述符能够实现①直接接电脑,在设备管理器中能够查到被电脑识别为HID- compliant game contorller;②在CH582m单片机中自定义了回包内容,通过USB抓包工具可以抓到单片机模拟的JoyS 阅读全文
posted @ 2022-03-01 21:31 JayWell 阅读(2183) 评论(0) 推荐(2) 编辑

点击右上角即可分享
微信分享提示