Image
Image

sunmeat

+ 关注

粉丝 13     |     主题 208     |     回帖 2132

【转】STM32 USB 问题汇总
2016-12-14 09:56
  • GigaDevice GD32 MCU
  • 51
  • 6958
  对于提问“如何传递length?在上面没有看到这个参数的传递过程”的回答: 参数length是用于检测缓冲区长度 ...  
  这里有一个库中使用的变量pInformation->Ctrl_Info.Usb_wOffset,这个变量回在传输每个数据包时候由库中的 ...  
  上述示意代码是以My_Buffer长度为10字节为例,而USB库的默认包长度为16字节,因此My_Data_Request并没有多 ...  
  上述示意代码是以My_Buffer长度为10字节为例,而USB库的默认包长度为16字节,因此My_Data_Request并没有多 ...  
  注意,STM32的USB库设计成以回调函数处理用户命令请求,包含类命令请求,是为了能够清晰地区分库程序和用户 ...  
  上面介绍的CopyRoutine用于把多次传输的数据包合并到一个完整的缓冲区中,因此只有到STATUS阶段才能够指导 ...  
  介绍完上述若干概念和回调函数,再看SET_REPORT的实现就很容易了。 SET_REPORT是一个数据出过程,因此需要 ...  
  当以length=0调用CopyRoutine时,CopyRoutine需要返回用户缓冲区的长度,因为CopyRoutine的返回类型是一个 ...  
  同样每个数据入过程也可能有若干次DATA_IN传输,每次需要向主机传输数据时,USB库都会调用一次回调函数Copy ...  
  USB库通过这个函数获得用户的数据缓冲区地址,从而可以在数据出过程中把收到的数据拷贝到用户缓冲区,或在 ...  
  在介绍具体实现之前,先介绍一下另一个回调函数CopyRoutine的概念,这个函数的原型是: u8 *CopyRoutine ...  
  结合SETUP的三种传输过程,用户通过实现不同的回调函数即可完成对各种USB类命令的处理,下面以HID的SET REP ...  
  全局变量Device_Property(DEVICE_PROP类型)封装了所有的回调函数,DEVICE_PROP定义如下: typedef struct _ ...  
  通过分析SETUP包的8个字节,可以判断出一个SETUP的传输过程是属于数据入过程、数据出过程还是无数据过程。S ...  
  使用pInformation->USBwValue0访问wValue的低字节,pInformation->USBwValue1访问wValue的高字节。 使用pIn ...  
  对应SETUP包的8个字节,用户可以用下述方式访问: pInformation->USBbmRequestType (字节类型) pInform ...  
  根据USB协议,每个SETUP包都由8个字节构成,用户程序可以通过结构体Device_Info(类型DEVICE_INFO)访问SETUP ...  
  接下来,我们看看STM32的USB库是如何处理控制端点0的传输。  
【转】STM32 USB IAP 步骤
2015-3-9 19:21
  • GigaDevice GD32 MCU
  • 7
  • 1820
  6.打开应用程序工程, 6.1) 编译选项设置 在IROM1 start处设置0x8004000; 6.2) 修改中断向量表偏移量 ...  
  4.用usb线连接STM32板,PC端出现发现新硬件。 5.安装驱动,如果第二步默认安装的话,选择驱动C:\Program F ...  
2
3
近期访客