usb小白学习之路hid鼠标程序

kybyano kybyano     2022-10-06     537

关键词:

HID鼠标程序

1. 特别注意

需要特别注意,各个例程中的设备描述符,配置描述符等各种描述符都是已经配置好了的,我们需要做的只是在例程中将代码修改为自己需要的部分即可,一般情况下是不可以串搭配的。

2. 程序解析

此程序使用的是端口1中断,进行数据的传输。

此程序的用户核心部分为periph.c文件中的“初始化函数TD_init()”和“循环执行函数TD_pull()”。

1可知,开发板上的两个按键S1S2都是接在端口PE上的。

 

开发板原理图

TD_init()函数就是完成对端口PE的初始化,以及端口1的中断使能。

TD_pull()函数就是通过检测PE4PE5电平的变化,来向上位机传送相应的代码。

3. 实验验证

在通过Cypress USB Consloe给开发板烧录之后,就不能通过Cypress USB Console检测开发板了,因为这时已经被配置为HID设备,Cypress USB Console不能检测HID设备。

此时开发板上的S1S2分别对应鼠标的右键和左键,可以通过在文档中输入检测。

usb小白学习之路cypress固件架构解析

Cypress固件架构彻底解析及USB枚举1. RAM的区别56pin或者100pin的cy7c68013A,只有内部RAM,不支持外部RAM128pin的cy7c68013A在pin脚EA=0时为内部RAM,pin脚EA=1时,为外部RAM2. USB描述符DESR.A51中放的是USB描述符表,包括:1、设备描述符2、... 查看详情

stm32cubemx学习笔记(45)——usb接口使用(hid鼠标)(代码片段)

一、USB简介USB(UniversalSerialBUS)通用串行总线,是一个外部总线标准,用于规范电脑与外部设备的连接和通讯。是应用在PC领域的接口技术。USB接口支持设备的即插即用和热插拔功能。USB是在1994年底由英特尔、康... 查看详情

stm32cubemx学习笔记(45)——usb接口使用(hid鼠标)(代码片段)

一、USB简介USB(UniversalSerialBUS)通用串行总线,是一个外部总线标准,用于规范电脑与外部设备的连接和通讯。是应用在PC领域的接口技术。USB接口支持设备的即插即用和热插拔功能。USB是在1994年底由英特尔、康... 查看详情

usb小白学习之路端点in/out互换

端点2(out)和端点6(in)的out_in互换注:这里的out和in都是以host为标准说的,out是host的out,在设备(Cy7c68013)这里其实是输入端口;in是host的in,在设备(Cy7c68013)这里其实是输出端口。由于在PDF文档中,最后博主说了句将端点2改为... 查看详情

usb小白学习之路cy7c68013aslavefifo模式下与fpga通信

CY7C68013ASlaveFIFO模式下与FPGA通信CY7C68013A的时钟是由FPGA提供的24MHz,RESET引脚也是由FPGA控制。1、开始时没有给FPGA烧录程序,将CY7C68013A接到PC上,安装驱动后,是检测不到device的,经查找,原因有两个:  ①没有时钟,这种情况... 查看详情

(转)usb小白学习之路(12)cy7c68013固件之slavefifo

Cy7c68013固件之SlaveFIFO转自:http://blog.csdn.net/zengshaoqing/article/details/53053539 选择SlaveFIFO传输方式  SlaveFIFO传输示意如图1:图1SlaveFIFO传输示意图  在SlaveFIFO方式下,FX2LP内嵌的8051固件的功能只是配置SlaveFIFO 相关的寄存器以... 查看详情

usb小白学习之路fpgacommunicationwithpcbycy7c68013,td_init()解析

voidTD_Init(void){   CPUCS=((CPUCS&~bmCLKSPD)|bmCLKSPD1);     //设置CPU时钟频率为48M,寄存器CPUCS的位如下所示。此语句就是将CPUCS的b4,b3位设为10,         & 查看详情

(转)usb小白学习之路fx2lpcy7c68013——slavefifo与fpga通信

此博客转自CSDN:http://blog.csdn.net/xx116213/article/details/50535682 1USB概述USB名称解释 USB是通用串行总线(UniversalSerialBus)的缩写。能过在计算机运行过程中随意地接入,并且立刻就能投入工作,那么这样的特性叫做即插即用PnP... 查看详情

(转)usb小白学习之路(11)cy7c68013驱动电路设计注意事项

Cy7c68013驱动电路设计注意事项转自:http://group.chinaaet.com/116/79029#0-tsina-1-71467-397232819ff9a47a7b7e80a40613cfe1  CY7C68013的驱动电路非常简单,除了提供24MHz时钟源,设计好USB差分接口,做好电源滤波,其他信号均可由数字控制。这里简... 查看详情

(转)usb小白学习之路(10)cy7c68013slavefifo模式下的标志位

转自良子:http://www.eefocus.com/liangziusb/blog/12-11/288618_bdaf9.html   CY7C68013含有4个大端点,可以用来处理数据量较大的传输,如数据采集、视频等方面的应用。每个大端点都可以独立配置对应的FIFO,同时,也提供了相应的标志位... 查看详情

小白的ctf学习之路1——程序与cpu

刚刚注册了这个博客园,尽量保持每日一更(*/ω\*)今天看了po学院的教学视频,了解了程序是什么,如何在CPU当中工作的等各种之前未曾想过的问题,特此记录,以防忘记首先我们学习程序与CPU之前需要了解这么几个问题:1... 查看详情

usb鼠标实现——hid报告的返回(代码片段)

文章目录HID报告的返回仓库地址USB鼠标阅读顺序报告返回HID报告的返回仓库地址仓库地址USB鼠标阅读顺序枚举过程USB鼠标实现——设备描述符(一)USB鼠标实现——设置地址(二)USB鼠标实现——配置描述符集合&... 查看详情

前端小白的学习之路--html学习

HTML的补充学习1.meta与base<metahttp-equiv="refresh"content="2">2秒刷新一次<basehref="https://www.baidu.com"target="_blank">设置默认跳转地址以及跳转方式<linkrel="icon 查看详情

浅析usbhid驱动如何源源不断的获取usb鼠标

参考技术A浅析usbhid驱动如何源源不断的获取usb鼠标数据hid_probe==>usb_hid_configurepipe=usb_rcvintpipe(dev,endpoint->bEndpointAddress);usb_fill_int_urb(usbhid->urbin,dev,pipe,usbhid->inbuf,insize,//首先申请interrupturb内存,并填充下面的有效数据//后面... 查看详情

usb驱动之androidusb鼠标驱动(代码片段)

...只要符合HIDspec都可以称之为HID设备,常见的HID设备有鼠标键盘,游戏操纵杆等等。        usb鼠标在android代码中没有使用linux中常用的drivers/hid 查看详情

我找不到这个库 usb_hid 的 pip

...及制作一个程序,在Rasbperrypipico和一些按钮的帮助下制作鼠标。但显然我需要usb_hid库来托管我的USB但我找不到它。几天来我一直在寻找库来进行pip安装,但我在任何地方都找不到它frommachineim 查看详情

如何逆向工程 USB/HID/蓝牙加密狗。使用啥工具?

...发布时间】:2014-04-0123:48:13【问题描述】:需要对蓝牙usb鼠标加密狗进行逆向工程,并使用鼠标板测量距离,并用matplotlib绘制它们我发现这些工具可以帮助完成这项任务: 查看详情

小白艰苦学习之路(记录学习历程——预备篇)day1

学习路线Java预科知识博客的重要性Markdown语法标题#(空格)+标题名称【一级标题】或ctrl+1##(空格)+标题名称【二级标题】或ctrl+2###(空格)+标题名称【三级标题】或ctrl+3以此类推到六... 查看详情