OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4198|回复: 0

请问usb发送数据 同步音频 出现一帧数据 一帧空包是什么原因了

[复制链接]

1

主题

7

帖子

0

精华

新手入门

积分
10
金钱
10
注册时间
2017-6-7
在线时间
2 小时
发表于 2017-6-27 12:52:24 | 显示全部楼层 |阅读模式
5金钱
本帖最后由 jery99 于 2017-6-27 12:56 编辑

大家好。我的103 代码是从 f072上移植过来的。现在出现 一帧数据 一帧空包的情况,发数据的时候。请问有人知道原因吗。我上传一个demo 大家帮我分析下 ,一起学习交流
部分配置:
    1. 中断
void USB_HP_CAN1_TX_IRQHandler(void)
{
          HAL_PCD_IRQHandler(&hpcd);
}

void USB_LP_CAN1_RX0_IRQHandler(void)
{

  HAL_PCD_IRQHandler(&hpcd);

}


2. USB 端点配置  pmabuffer  
USBD_StatusTypeDef USBD_LL_Init(USBD_HandleTypeDef *pdev)
{
  /* Set LL Driver parameters */
  hpcd.Instance = USB;
  hpcd.Init.dev_endpoints = 3;
  hpcd.Init.ep0_mps = 0x40;
  hpcd.Init.phy_itface = PCD_PHY_EMBEDDED;
  hpcd.Init.speed = PCD_SPEED_FULL;
  hpcd.Init.low_power_enable = 0;
  /* Link The driver to the stack */
  hpcd.pData = pdev;
  pdev->pData = &hpcd;
  /* Initialize LL Driver */


   HAL_PCD_Init(&hpcd);

HAL_PCDEx_PMAConfig(pdev->pData , 0x00 , PCD_SNG_BUF, 0x18);
  HAL_PCDEx_PMAConfig(pdev->pData , 0x80 , PCD_SNG_BUF, 0x58);
HAL_PCDEx_PMAConfig(pdev->pData , 0x81 , PCD_DBL_BUF, 0x009800d8);  // 这里是双缓冲

  return USBD_OK;
}


端点描述符配置
/* Endpoint 1 - Standard Descriptor */
  USBD_AUDIO_CfgDesc[index++] =  AUDIO_STANDARD_ENDPOINT_DESC_SIZE;            /* bLength */
  USBD_AUDIO_CfgDesc[index++] = 0x05;                                          /* bDescriptorType */
  USBD_AUDIO_CfgDesc[index++] = AUDIO_IN_EP;                                   /* bEndpointAddress 1 in endpoint*/
  USBD_AUDIO_CfgDesc[index++] = 0x05;                                          /* bmAttributes */
  USBD_AUDIO_CfgDesc[index++] =   ((samplingFrequency/1000+2)*Channels*2)&0xFF;  /* wMaxPacketSize */
  USBD_AUDIO_CfgDesc[index++] =  ((samplingFrequency/1000+2)*Channels*2)>>8;
  USBD_AUDIO_CfgDesc[index++] = 0x01;                                          /* bInterval */
  USBD_AUDIO_CfgDesc[index++] = 0x00;                                          /* bRefresh */
  USBD_AUDIO_CfgDesc[index++] = 0x00;                                          /* bSynchAddress */   


出现丢包现象。 附件是图片  抓包出来的
源码我也上传了









103_1.png
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-8-17 13:39

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表