您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ HAL_PCD_EP_Receive函数代码示例

51自学网 2021-06-01 21:21:25
  C++
这篇教程C++ HAL_PCD_EP_Receive函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中HAL_PCD_EP_Receive函数的典型用法代码示例。如果您正苦于以下问题:C++ HAL_PCD_EP_Receive函数的具体用法?C++ HAL_PCD_EP_Receive怎么用?C++ HAL_PCD_EP_Receive使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了HAL_PCD_EP_Receive函数的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: USBD_LL_PrepareReceive

/**  * @brief  Prepares an endpoint for reception.  * @param  pdev: Device handle  * @param  ep_addr: Endpoint Number  * @param  pbuf: Pointer to data to be received  * @param  size: Data size  * @retval USBD Status  */USBD_StatusTypeDef  USBD_LL_PrepareReceive(USBD_HandleTypeDef *pdev,                                            uint8_t  ep_addr,                                                                                 uint8_t  *pbuf,                                           uint16_t  size){  HAL_StatusTypeDef hal_status = HAL_OK;  USBD_StatusTypeDef usb_status = USBD_OK;  hal_status = HAL_PCD_EP_Receive(pdev->pData, ep_addr, pbuf, size);       switch (hal_status) {    case HAL_OK :      usb_status = USBD_OK;    break;    case HAL_ERROR :      usb_status = USBD_FAIL;    break;    case HAL_BUSY :      usb_status = USBD_BUSY;    break;    case HAL_TIMEOUT :      usb_status = USBD_FAIL;    break;    default :      usb_status = USBD_FAIL;    break;  }  return usb_status; }
开发者ID:quispiam,项目名称:ultrasonic_f3_disocvery,代码行数:37,


示例2: HAL_PCD_DataInStageCallback

void HAL_PCD_DataInStageCallback(PCD_HandleTypeDef *hpcd, uint8_t epnum){    PCD_EPTypeDef *ep = &hpcd->IN_ep[epnum];    LTRACEF("epnum %u, xfer count %u len %u/n", epnum, ep->xfer_count, ep->xfer_len);    if (epnum == 0) {        // TODO(konkers): implement multi packet.        struct ep_status *ep = &usbc.ep_in[0];        if (ep->ack_ep0_in) {            // in transfer done, ready for receive status            HAL_PCD_EP_Receive(&usbc.handle, 0, 0, 0);        }    } else {        // in transfer done        if (usbc.ep_in[epnum].transfer) {            // completing a transfer            usbc_transfer_t *t = usbc.ep_in[epnum].transfer;            usbc.ep_in[epnum].transfer = NULL;            LTRACEF("completing transfer %p/n", t);            PCD_EPTypeDef *ep = &hpcd->IN_ep[epnum];            t->bufpos = ep->xfer_count;            t->result = 0;            t->callback(epnum, t);            usbc.do_resched = true;        }    }}
开发者ID:Gitsyshk,项目名称:lk,代码行数:29,


示例3: usb_dc_ep_start_read

int usb_dc_ep_start_read(u8_t ep, u8_t *data, u32_t max_data_len){	HAL_StatusTypeDef status;	LOG_DBG("ep 0x%02x, len %u", ep, max_data_len);	/* we flush EP0_IN by doing a 0 length receive on it */	if (!EP_IS_OUT(ep) && (ep != EP0_IN || max_data_len)) {		LOG_ERR("invalid ep 0x%02x", ep);		return -EINVAL;	}	if (max_data_len > EP_MPS) {		max_data_len = EP_MPS;	}	status = HAL_PCD_EP_Receive(&usb_dc_stm32_state.pcd, ep,				    usb_dc_stm32_state.ep_buf[EP_IDX(ep)],				    max_data_len);	if (status != HAL_OK) {		LOG_ERR("HAL_PCD_EP_Receive failed(0x%02x), %d", ep,			(int)status);		return -EIO;	}	return 0;}
开发者ID:loicpoulain,项目名称:zephyr,代码行数:27,


示例4: USBD_LL_PrepareReceive

/**  * @brief  Prepares an endpoint for reception.  * @param  pdev: Device handle  * @param  ep_addr: Endpoint Number  * @param  pbuf: Pointer to data to be received  * @param  size: Data size  * @retval USBD Status  */USBD_StatusTypeDef USBD_LL_PrepareReceive(USBD_HandleTypeDef *pdev,                                           uint8_t ep_addr,                                          uint8_t *pbuf,                                          uint16_t size){  HAL_PCD_EP_Receive(pdev->pData, ep_addr, pbuf, size);  return USBD_OK;}
开发者ID:MrZANE42,项目名称:verisure1512,代码行数:16,


示例5: EP_ADDR

void USBHAL::EP0read(void) {     USBHAL_Private_t *HALPriv =  (USBHAL_Private_t *)hpcd.pData;	 uint32_t epIndex = EP_ADDR(EP0OUT);	 uint8_t *pBuf = (uint8_t *)HALPriv->pBufRx0;	 HAL_StatusTypeDef ret;	 HALPriv->epComplete[EP0OUT] = 2;	 ret = HAL_PCD_EP_Receive(&hpcd, epIndex, pBuf, MAX_PACKET_SIZE_EP0 );	 MBED_ASSERT(ret!=HAL_BUSY);}
开发者ID:SolarTeamEindhoven,项目名称:mbed,代码行数:10,


示例6: USBD_LL_PrepareReceive

/**  * @brief  Prepares an endpoint for reception.  * @param  pdev: Device handle  * @param  ep_addr: Endpoint Number  * @param  pbuf: Pointer to data to be received  * @param  size: Data size  * @retval USBD Status  */USBD_StatusTypeDef USBD_LL_PrepareReceive(USBD_HandleTypeDef *pdev,                                          uint8_t ep_addr,                                          uint8_t *pbuf,                                          uint16_t size){	//ui_led_usb_flash( UI_LED_FLSH_SHRT_TCKS );	HAL_PCD_EP_Receive(pdev->pData, ep_addr, pbuf, size);	return USBD_OK;}
开发者ID:itahoe,项目名称:gnss_dock,代码行数:18,


示例7: usbc_queue_rx

status_t usbc_queue_rx(ep_t ep, usbc_transfer_t *transfer){    LTRACEF("ep %u, transfer %p (buf %p, buflen %zu)/n", ep, transfer, transfer->buf, transfer->buflen);    DEBUG_ASSERT(ep <= NUM_EP);    DEBUG_ASSERT(usbc.ep_out[ep].transfer == NULL);    usbc.ep_out[ep].transfer = transfer;    HAL_PCD_EP_Receive(&usbc.handle, ep, transfer->buf, transfer->buflen);    return NO_ERROR;}
开发者ID:Gitsyshk,项目名称:lk,代码行数:12,


示例8: PCD_EP_ISR_Handler

//.........这里部分代码省略.........          if (count != 0)          {            PCD_ReadPMA(hpcd->Instance, ep->xfer_buff, ep->pmaadress, count);          }        }        else        {          if (PCD_GET_ENDPOINT(hpcd->Instance, ep->num) & USB_EP_DTOG_RX)          {            /*read from endpoint BUF0Addr buffer*/            count = PCD_GET_EP_DBUF0_CNT(hpcd->Instance, ep->num);            if (count != 0)            {              PCD_ReadPMA(hpcd->Instance, ep->xfer_buff, ep->pmaaddr0, count);            }          }          else          {            /*read from endpoint BUF1Addr buffer*/            count = PCD_GET_EP_DBUF1_CNT(hpcd->Instance, ep->num);            if (count != 0)            {              PCD_ReadPMA(hpcd->Instance, ep->xfer_buff, ep->pmaaddr1, count);            }          }          PCD_FreeUserBuffer(hpcd->Instance, ep->num, PCD_EP_DBUF_OUT);          }        /*multi-packet on the NON control OUT endpoint*/        ep->xfer_count+=count;        ep->xfer_buff+=count;               if ((ep->xfer_len == 0) || (count < ep->maxpacket))        {          /* RX COMPLETE */          HAL_PCD_DataOutStageCallback(hpcd, ep->num);        }        else        {          HAL_PCD_EP_Receive(hpcd, ep->num, ep->xfer_buff, ep->xfer_len);        }              } /* if((wEPVal & EP_CTR_RX) */            if ((wEPVal & USB_EP_CTR_TX) != 0)      {        ep = &hpcd->IN_ep[EPindex];                /* clear int flag */        PCD_CLEAR_TX_EP_CTR(hpcd->Instance, EPindex);                /* IN double Buffering*/        if (ep->doublebuffer == 0)        {          ep->xfer_count = PCD_GET_EP_TX_CNT(hpcd->Instance, ep->num);          if (ep->xfer_count != 0)          {            PCD_WritePMA(hpcd->Instance, ep->xfer_buff, ep->pmaadress, ep->xfer_count);          }        }        else        {          if (PCD_GET_ENDPOINT(hpcd->Instance, ep->num) & USB_EP_DTOG_TX)          {            /*read from endpoint BUF0Addr buffer*/            ep->xfer_count = PCD_GET_EP_DBUF0_CNT(hpcd->Instance, ep->num);            if (ep->xfer_count != 0)            {              PCD_WritePMA(hpcd->Instance, ep->xfer_buff, ep->pmaaddr0, ep->xfer_count);            }          }          else          {            /*read from endpoint BUF1Addr buffer*/            ep->xfer_count = PCD_GET_EP_DBUF1_CNT(hpcd->Instance, ep->num);            if (ep->xfer_count != 0)            {              PCD_WritePMA(hpcd->Instance, ep->xfer_buff, ep->pmaaddr1, ep->xfer_count);            }          }          PCD_FreeUserBuffer(hpcd->Instance, ep->num, PCD_EP_DBUF_IN);          }        /*multi-packet on the NON control IN endpoint*/        ep->xfer_count = PCD_GET_EP_TX_CNT(hpcd->Instance, ep->num);        ep->xfer_buff+=ep->xfer_count;               /* Zero Length Packet? */        if (ep->xfer_len == 0)        {          /* TX COMPLETE */          HAL_PCD_DataInStageCallback(hpcd, ep->num);        }        else        {          HAL_PCD_EP_Transmit(hpcd, ep->num, ep->xfer_buff, ep->xfer_len);        }      }     }  }  return HAL_OK;}
开发者ID:AnselZhangGit,项目名称:LoRaMac-node,代码行数:101,



注:本文中的HAL_PCD_EP_Receive函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ HAL_PCD_EP_SetStall函数代码示例
C++ HAL_PCD_EP_Open函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。