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

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

查看全部评分

小小超 回答时间: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管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版