2 绿波电龙

尚未进行身份认证

我要认证

心中有梦,脚下生风

等级
TA的排名 25w+

自定义USB设备

相比于自定义USB HID设备,自定义USB设备具有以下优点:1.可以自定义传输类型,比如批量传输,而自定义HID设备只能控制传输和中断传输。自定义HID设备的方式。采用这种方式的通讯设备,优点是不需要写驱动程序,Windows上也有相应的API进行操作。这种方式的缺点是通讯速率比较慢,因为HID设备采用中断方式传输数据,对全速设备而言最快一秒钟只能传64K字节数据。而USB全速设备的理论带宽...

2020-05-08 06:59:26

自定义USB HID设备

HID设备优点:Windows系统自带HID设备驱动程序,因此不必自己开发驱动程序。自定义HID设备优点:如果不是自定义的HID,比如鼠标,键盘,被操作系统独占,因而用户无法通过用户程序访问,对于自定义的HID设备,操作系统不会占用,因而可以自己设计上位机与其通信。HID设备缺点:只能使用控制传输或者中断传输,速率受限,中断传输查询时间间隔最小为1微帧。实现方法:1.接口描述符中的...

2020-05-06 17:11:31

USB设置地址请求

设置地址请求只有Setup stage和Status stage. 没有Data stage. 请求在SETUP事务(Setup stage)的数据包中,请求按照默认地址0发送到设备,设备接受到设置地址请求后,在SETUP事务的握手包发送一个ACK给主机,紧接着主机发出一个IN事务(Status stage),在IN事务的数据包中设备返回一个0长度的数据包给主机,告诉主机已经收到此请求.然后...

2020-05-04 21:45:43

USB上位机开发

上位机开发采用图形化界面,使用C#语言进行开发。调用C++编写的Dll动态库,实现与STM32进行USB通信的目的。首先,编写Dll动态库。开发环境采用VS2017,语言C++将lusb0_usb.h和libusb.lib文件拷贝到工程目录下。libusb-win32-bin-1.2.6.0下载地址拷贝后,在项目属性 -》VC++目录 -》库目录添加刚才拷贝后文件路径项目属性...

2020-05-04 14:07:45

元器件选型技巧

电阻封装0201 0402 0603 0805 1206 1812 2512 2. 功耗 1/20 1/16 1/10 1/8 1/4 1/2 3. 精度 默认为5%精度,取样电阻和反馈电阻用1%精度电容1.常见的贴片陶瓷电容 0402 0603 0805等,容值小,通常10uf以下,耐压好。...

2020-05-01 12:26:48

STM32 USB库分析

当主机发送给设备数据时:

2020-04-28 07:07:14

pcb设计技巧

规则设置:间距--------------------电气最小间距:6mil线宽--------------------电源线:15mil 信号线:10mil过孔--------------------孔12mil, 直径24mil插针过孔大小(Hole Size)0.9mm, xSize = 1.5mm, ySize = 1.5mm快捷键N,显示隐藏飞线。布线的时候按2放置过孔,...

2020-04-25 08:00:25

USB协议笔记_报告描述符

USB HID设备是通过报告来传送数据的。报告分为输入报告和输出报告,输入报告用于设备向主机发数据,比如键盘按键以及鼠标点击移动等事件,输出报告用于主机向设备发数据,比如主机控制键盘上的指示灯等。报告通过中断输入输出端点发送与接收,当没有中断输出端点时,输出报告还可以从控制输出端点0发送。报告描述符是用来描述报告的结构、内容以及用途。主机通过报告描述符去解析报告,主机通过向接口发送获取报告描述...

2020-04-23 14:55:52

USB协议笔记_设备枚举

枚举过程:1.主机复位设备2.主机按照地址0端点0请求设备描述符(此处可选的设备复位操作,协议中无规定)3.主机给设备分配新地址4.主机按照新地址请求设备描述符5.主机通过Get_Descriptor读取配置描述符,根据里面的配置集合总长度获取配置,接口,端点描述符6.主机通过Get_Descriptor读字符串描述符(可选)7.主机读取HID描述符(可选)8.主机给设备挂载驱动...

2020-04-16 21:37:22

emwin画图

GUI_RotatePolygon()传递的角度为弧度制,比如90准换后90*3.14/180 赋予函数且是绝对位置值,不是增量,逆时针为正

2020-03-14 21:38:18

FreeRTOS中断优先级配置

1.configLIBRARY_LOWEST_INTERRUPT_PRIORITY 0x0f//最低优先级为15(240)2.configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY 5//中断优先级数值小于5(80)的不可控,数值大于5(80)的属于FreeRTOS控制范围比如这里设置NVIC_InitStructure.NVIC_IRQChann...

2020-03-13 14:57:59

ov5640摄像头应用笔记

2020-03-09 11:53:57

ov5640摄像头使用心得

配置总共分以下几步:一:硬件初始化OV5640_HW_Init();void OV5640_HW_Init(void){ GPIO_InitTypeDef GPIO_InitStructure; I2C_InitTypeDef I2C_InitStruct; /***DCMI引脚配置***/ /* 使能DCMI时钟 */ RCC_AHB1PeriphClo...

2020-03-08 11:21:48

DMA双缓冲

举个例子很容易理解:比如一条流水线上有一个工人在处理产品,正常情况下进来一个产品工人处理一个,没啥问题,但是如果产品进来的速度太快,工人来不及处理,就会导致有很多产品漏处理,会产生很大问题。现在工人就是CPU, 产品就是要处理的数据,流水线就是DMA, DMA不断的把数据从外设搬到内存供CPU处理,众所周知,DMA的速度是很快的,当外设数据量很大的时候,CPU来不及处理,就会丢失数据, 这时...

2020-03-07 11:05:24

DMA突发模式的理解

DMA传输类型分为直接模式和突发模式FIFO一共16个字节MBURST = INCR8意思是每次传输8*MSIZE数据,且FIFO必须是此乘积的整数倍,比如:MBURST = INCR8MSIZE = 字节一次传输的数据量 = 8 x 字节 = 8字节此时FIFO有两种可能, 8 x 1 = 8 或者 8 x 2 = 16如果选择FIFO = 8 ,那么一次突发就刚好满足...

2020-03-07 10:43:17

ltdc层透明度设置

PA模式:BC(混合后的颜色) = BF1 x 恒定Alpha + BF2 x (1-恒定Alpha)恒定Alpha = 0x0F/255PA X CA模式:BC(混合后的颜色) = BF1 x (恒定Alpha x 像素Alpha) +BF2 x (恒定Alpha x 像素Alpha)...

2020-03-05 11:39:58

字符串数组和字符串指针

char* p = “hello”; p指向静态存储区的字符串, 默认此字符串为const类型,不可以修改。char buff[] = “hello”;此时buff为地址常量,buff指向的字符串为位于静态存储区“hello”的副本,没有const属性,可以修改此副本字符串内容。...

2020-02-29 11:33:22

sizeof和strlen

sizeof 属于运算符,在编译时进行strlen 是函数,在执行过程中计算sizeof考虑字符串最后的‘\0’, strlen不考虑注意事项:sizeof计算的是字节的长度,204strlen (const char); 传入的参数只能是char*...

2020-02-29 10:51:47

sdram配置

stm32f429可以外挂两个SDRAM, SDRAM1的映射地址是从0XC0000000开始,SDRAM2的映射地址从0XD0000000开始BA0 BA1 组合选择SDRAM内部的4个BANKCKE0 NE0 选一个SDRAM , CKE1 NE1 选择另一个SDRAM, 两个SDRAM共用一条时钟线CLK....

2020-02-28 11:22:49

mavlink协议发送与接收--串口版

mavlink官网MAVLINK现分为两个版本V1和V2,区别是V2的MsgId扩展到24位,V1只有8位(0-255)。原理都是差不多的,这里以V1为例,V2也实际测试过,可以用。一、安装移植安装方法链接这里不过多解释,官网步骤很详细,需要注意的是,安装前先安装好Python3环境和Git,方法百度都有。另外我们需要的是C代码(移植到stm32上),官方用Python脚本写了个代码生成器...

2020-02-25 12:57:46

查看更多

勋章 我的勋章
  • 签到王者
    签到王者
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 阅读者勋章Lv2
    阅读者勋章Lv2
    授予在CSDN APP累计阅读博文达到7天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。