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

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

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

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

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

示例1: USBD_LL_Transmit

/**  * @brief  Transmits data over an endpoint.  * @param  pdev: Device handle  * @param  ep_addr: Endpoint Number  * @param  pbuf: Pointer to data to be sent  * @param  size: Data size      * @retval USBD Status  */USBD_StatusTypeDef  USBD_LL_Transmit (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_Transmit(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: USBD_LL_Transmit

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


示例3: usbc_ep0_send

void usbc_ep0_send(const void *buf, size_t len, size_t maxlen){    LTRACEF("buf %p, len %zu, maxlen %zu/n", buf, len, maxlen);    struct ep_status *ep = &usbc.ep_in[0];    ep->ack_ep0_in = true;    HAL_PCD_EP_Transmit(&usbc.handle, 0, (void *)buf, MIN(len, maxlen));}
开发者ID:Gitsyshk,项目名称:lk,代码行数:8,


示例4: usbc_ep0_ack

void usbc_ep0_ack(void){    LTRACE;    struct ep_status *ep = &usbc.ep_in[0];    ep->ack_ep0_in = false;    HAL_PCD_EP_Transmit(&usbc.handle, 0, 0, 0);}
开发者ID:Gitsyshk,项目名称:lk,代码行数:8,


示例5: USBD_LL_Transmit

/**  * @brief  Transmits data over an endpoint.  * @param  pdev: Device handle  * @param  ep_addr: Endpoint Number  * @param  pbuf: Pointer to data to be sent  * @param  size: Data size  * @retval USBD Status  */USBD_StatusTypeDef USBD_LL_Transmit(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_Transmit(pdev->pData, ep_addr, pbuf, size);	return USBD_OK;}
开发者ID:itahoe,项目名称:gnss_dock,代码行数:17,


示例6: usb_dc_ep_write

int usb_dc_ep_write(const u8_t ep, const u8_t *const data,		    const u32_t data_len, u32_t * const ret_bytes){	struct usb_dc_stm32_ep_state *ep_state = usb_dc_stm32_get_ep_state(ep);	HAL_StatusTypeDef status;	u32_t len = data_len;	int ret = 0;	LOG_DBG("ep 0x%02x, len %u", ep, data_len);	if (!ep_state || !EP_IS_IN(ep)) {		LOG_ERR("invalid ep 0x%02x", ep);		return -EINVAL;	}	ret = k_sem_take(&ep_state->write_sem, K_NO_WAIT);	if (ret) {		LOG_ERR("Unable to get write lock (%d)", ret);		return -EAGAIN;	}	if (!k_is_in_isr()) {		irq_disable(DT_USB_IRQ);	}	if (ep == EP0_IN && len > USB_MAX_CTRL_MPS) {		len = USB_MAX_CTRL_MPS;	}	status = HAL_PCD_EP_Transmit(&usb_dc_stm32_state.pcd, ep,				     (void *)data, len);	if (status != HAL_OK) {		LOG_ERR("HAL_PCD_EP_Transmit failed(0x%02x), %d", ep,			(int)status);		k_sem_give(&ep_state->write_sem);		ret = -EIO;	}	if (!ret && ep == EP0_IN && len > 0) {		/* Wait for an empty package as from the host.		 * This also flushes the TX FIFO to the host.		 */		usb_dc_ep_start_read(ep, NULL, 0);	}	if (!k_is_in_isr()) {		irq_enable(DT_USB_IRQ);	}	if (ret_bytes) {		*ret_bytes = len;	}	return ret;}
开发者ID:loicpoulain,项目名称:zephyr,代码行数:55,


示例7: usbc_queue_tx

status_t usbc_queue_tx(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_in[ep].transfer == NULL);    usbc.ep_in[ep].transfer = transfer;    HAL_PCD_EP_Transmit(&usbc.handle, ep, transfer->buf, transfer->buflen);    return NO_ERROR;}
开发者ID:Gitsyshk,项目名称:lk,代码行数:12,


示例8: EP_ADDR

EP_STATUS USBHAL::endpointWrite(uint8_t endpoint, uint8_t *data, uint32_t size) {	USBHAL_Private_t *HALPriv =  (USBHAL_Private_t *)(hpcd.pData);    uint32_t epIndex = EP_ADDR(endpoint);    HAL_StatusTypeDef ret;    // clean transmission end flag before requesting transmission    HALPriv->epComplete[endpoint] = 2;    ret = HAL_PCD_EP_Transmit(&hpcd, epIndex, data, size);	MBED_ASSERT(ret!=HAL_BUSY);    // update the status    if (ret != HAL_OK) return EP_INVALID;     // fix me return is too simple    return EP_PENDING;}
开发者ID:SolarTeamEindhoven,项目名称:mbed,代码行数:13,


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


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