你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

usb 转 vcp 接收与连接回调函数 ??

[复制链接]
hpdell 提问时间:2016-12-1 10:03 /
悬赏10ST金币已解决


现在 使用 usb 转vcp 功能,基本的功能以及实现了,现在的问题有如下几点:
1、使用 pc端发送 数据给单片机时,接收要如何处理 ,也就是这个  static int8_t CDC_Receive_HS (uint8_t* Buf, uint32_t *Len)   这个函数?
static int8_t CDC_Receive_HS (uint8_t* Buf, uint32_t *Len)
{
  /* USER CODE BEGIN 11 */
  USBD_CDC_SetRxBuffer(&hUsbDeviceHS, &Buf[0]);
  USBD_CDC_ReceivePacket(&hUsbDeviceHS);
  return (USBD_OK);
  /* USER CODE END 11 */
}  


上面的 Len 如何得到 ???

2、连接回调函数

/**
  * @brief  Connect callback.
  * @param  hpcd: PCD handle
  * @retval None
  */
void HAL_PCD_ConnectCallback(PCD_HandleTypeDef *hpcd)
{
  USB_bDeviceState = 1;     // 连接成功
  USBD_LL_DevConnected(hpcd->pData);

  printf("HAL_PCD_ConnectCallback ==== %d", USB_bDeviceState);
}   


程序貌似始终都没有进入 到这个函数里面来,但是程序可以发送数据到 pc端


3、测试程序

USBH_USB3300_VCP.rar (3.85 MB, 下载次数: 24)

最佳答案

查看完整内容

回复添加不了本地图片?好麻烦。这么久没人回答,我来告诉你,金币给我。 你说的这两个函数,都只是把其他函数打包封装起来了而已,HAL就是不断的封装,封装到最后谁也不认识谁了。 你直接看底层,USB中断调用函数里有HAL_PCD_DataOutStageCallback(hpcd, epnum);和HAL_PCD_DataInStageCallback(hpcd, epnum);你的数据就是在中断里通过这两个函数收发的。再开USB初始化部分,比如USBD_CDC_Init (USBD_HandleTypeDef ...
收藏 1 评论5 发布时间:2016-12-1 10:03

举报

5个回答
衔胆栖冰 回答时间:2016-12-1 10:03:46
     回复添加不了本地图片?好麻烦。这么久没人回答,我来告诉你,金币给我。
     你说的这两个函数,都只是把其他函数打包封装起来了而已,HAL就是不断的封装,封装到最后谁也不认识谁了。
     你直接看底层,USB中断调用函数里有HAL_PCD_DataOutStageCallback(hpcd, epnum);和HAL_PCD_DataInStageCallback(hpcd, epnum);你的数据就是在中断里通过这两个函数收发的。再开USB初始化部分,比如USBD_CDC_Init (USBD_HandleTypeDef *pdev, uint8_t cfgidx)函数中调用了      USBD_LL_PrepareReceive(pdev, CDC_OUT_EP, hcdc->RxBuffer, CDC_DATA_HS_OUT_PACKET_SIZE);那么单片机USB收到的数据就在你的RxBuffer中了。单片机USB向PC发送数据,同理。只要你相关代码,调用了底层相关的函数,就可以收发数据。HAL利用底层的函数,封装出各种各样的函数,就像你商场买衣服,你只需要选择你喜欢的,合适的。
     大晚上打这么多字挺累,有疑问再聊。最后,记得给金币。辛苦钱啊。

评分

参与人数 2ST金币 +12 收起 理由
zero99 + 2
hpdell + 10

查看全部评分

ts2000 回答时间:2016-12-25 17:17:06
学习一下。
zero99 回答时间:2016-12-30 15:15:42
衔胆栖冰 发表于 2016-12-1 10:03
回复添加不了本地图片?好麻烦。这么久没人回答,我来告诉你,金币给我。
     你说的这两个函数,都 ...

回复可以添加图片的,但要进入高级模式
多谢回答~

8754.png

衔胆栖冰 回答时间:2017-1-4 21:41:10
zero99 发表于 2016-12-30 15:15
回复可以添加图片的,但要进入高级模式
多谢回答~

搜嘎,谢谢啊
五哥1 回答时间:2017-1-4 23:39:10
这个我又明白一些了,不断的封装

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版