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

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

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

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

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

示例1: HAL_PCD_ResetCallback

void HAL_PCD_ResetCallback(PCD_HandleTypeDef *hpcd){    LTRACE_ENTRY;    /* fail all the outstanding transactions */    for (uint i = 0; i < NUM_EP; i++) {        if (usbc.ep_in[i].transfer) {            usbc_transfer_t *t = usbc.ep_in[i].transfer;            usbc.ep_in[i].transfer = NULL;            t->result = ERR_CANCELLED;            t->callback(i, t);        }        if (usbc.ep_out[i].transfer) {            usbc_transfer_t *t = usbc.ep_out[i].transfer;            usbc.ep_out[i].transfer = NULL;            t->result = ERR_CANCELLED;            t->callback(i, t);        }    }    HAL_PCD_EP_Open(&usbc.handle, 0, 0x40, PCD_EP_TYPE_CTRL);    HAL_PCD_EP_Open(&usbc.handle, 0x80, 0x40, PCD_EP_TYPE_CTRL);    usbc_callback(USB_CB_RESET, NULL);    usbc.do_resched = true;}
开发者ID:Gitsyshk,项目名称:lk,代码行数:27,


示例2: EP_ADDR

bool USBHAL::realiseEndpoint(uint8_t endpoint, uint32_t maxPacket, uint32_t flags) {    uint32_t epIndex = EP_ADDR(endpoint);    uint32_t type;    uint32_t len;    HAL_StatusTypeDef ret;    switch (endpoint) {    case EP0IN:    case EP0OUT:        type =  0;        break;    case EPISO_IN:    case EPISO_OUT:        type = 1;        break;    case EPBULK_IN:    case EPBULK_OUT:        type =  2;        break;    case EPINT_IN:    case EPINT_OUT:        type =  3;        break;    }    if (maxPacket > MAXTRANSFER_SIZE) return false;    if (epIndex & 0x80) {        len = HAL_PCDEx_GetTxFiFo(&hpcd,epIndex & 0x7f);        MBED_ASSERT(len >= maxPacket);    }    ret = HAL_PCD_EP_Open(&hpcd, epIndex,  maxPacket, type);    MBED_ASSERT(ret!=HAL_BUSY);    return (ret == HAL_OK) ? true:false;}
开发者ID:SolarTeamEindhoven,项目名称:mbed,代码行数:32,


示例3: USBD_LL_OpenEP

/**  * @brief  Opens an endpoint of the Low Level Driver.  * @param  pdev: Device handle  * @param  ep_addr: Endpoint Number  * @param  ep_type: Endpoint Type  * @param  ep_mps: Endpoint Max Packet Size  * @retval USBD Status  */USBD_StatusTypeDef  USBD_LL_OpenEP  (USBD_HandleTypeDef *pdev,                                       uint8_t  ep_addr,                                                                            uint8_t  ep_type,                                      uint16_t ep_mps){  HAL_StatusTypeDef hal_status = HAL_OK;  USBD_StatusTypeDef usb_status = USBD_OK;  hal_status = HAL_PCD_EP_Open(pdev->pData,                                ep_addr,                                ep_mps,                                ep_type);         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,代码行数:41,


示例4: usb_dc_ep_enable

int usb_dc_ep_enable(const u8_t ep){	struct usb_dc_stm32_ep_state *ep_state = usb_dc_stm32_get_ep_state(ep);	HAL_StatusTypeDef status;	LOG_DBG("ep 0x%02x", ep);	if (!ep_state) {		return -EINVAL;	}	LOG_DBG("HAL_PCD_EP_Open(0x%02x, %u, %u)", ep, ep_state->ep_mps,		ep_state->ep_type);	status = HAL_PCD_EP_Open(&usb_dc_stm32_state.pcd, ep,				 ep_state->ep_mps, ep_state->ep_type);	if (status != HAL_OK) {		LOG_ERR("HAL_PCD_EP_Open failed(0x%02x), %d", ep,			(int)status);		return -EIO;	}	if (EP_IS_OUT(ep) && ep != EP0_OUT) {		return usb_dc_ep_start_read(ep,					  usb_dc_stm32_state.ep_buf[EP_IDX(ep)],					  EP_MPS);	}	return 0;}
开发者ID:loicpoulain,项目名称:zephyr,代码行数:30,


示例5: USBD_LL_OpenEP

/**  * @brief  Opens an endpoint of the Low Level Driver.   * @param  pdev: Device handle  * @param  ep_addr: Endpoint Number  * @param  ep_type: Endpoint Type  * @param  ep_mps: Endpoint Max Packet Size                   * @retval USBD Status  */USBD_StatusTypeDef USBD_LL_OpenEP(USBD_HandleTypeDef *pdev,                                   uint8_t  ep_addr,                                                                        uint8_t  ep_type,                                  uint16_t ep_mps){  HAL_PCD_EP_Open(pdev->pData, ep_addr, ep_mps, ep_type);  return USBD_OK; }
开发者ID:AriZuu,项目名称:micropython,代码行数:16,


示例6: HAL_PCD_ResetCallback

void HAL_PCD_ResetCallback(PCD_HandleTypeDef *hpcd){	int i;	LOG_DBG("");	HAL_PCD_EP_Open(&usb_dc_stm32_state.pcd, EP0_IN, EP0_MPS, EP_TYPE_CTRL);	HAL_PCD_EP_Open(&usb_dc_stm32_state.pcd, EP0_OUT, EP0_MPS,			EP_TYPE_CTRL);	/* The DataInCallback will never be called at this point for any pending	 * transactions. Reset the IN semaphores to prevent perpetual locked state.	 * */	for (i = 0; i < DT_USB_NUM_BIDIR_ENDPOINTS; i++) {		k_sem_give(&usb_dc_stm32_state.in_ep_state[i].write_sem);	}	if (usb_dc_stm32_state.status_cb) {		usb_dc_stm32_state.status_cb(USB_DC_RESET, NULL);	}}
开发者ID:loicpoulain,项目名称:zephyr,代码行数:21,


示例7: USBD_LL_OpenEP

/**  * @brief  USBD_LL_OpenEP   *         Open an endpoint of the Low Level Driver.  * @param  pdev: device handle  * @param  ep_addr: Endpoint Number  * @param  ep_type: Endpoint Type  * @param  ep_mps: Endpoint Max Packet Size                   * @retval USBD Status  */USBD_StatusTypeDef  USBD_LL_OpenEP  (USBD_HandleTypeDef *pdev,                                       uint8_t  ep_addr,                                                                            uint8_t  ep_type,                                      uint16_t ep_mps){	USBD_EndpointTypeDef * ep;	if (ep_addr & 0x80 == 0x80) {		ep = &pdev->ep_in[ep_addr & 0x7F];	} else {		ep = &pdev->ep_out[ep_addr & 0x7F];	}	ep->maxpacket = ep_mps;	HAL_PCD_EP_Open(pdev->pData, ep_addr, ep_mps, ep_type);    	return USBD_OK;}
开发者ID:EvgeneOskin,项目名称:usb-machine-stm,代码行数:26,


示例8: usbc_setup_endpoint

status_t usbc_setup_endpoint(ep_t ep, ep_dir_t dir, uint width, ep_type_t type){    LTRACEF("ep %u dir %u width %u/n", ep, dir, width);    DEBUG_ASSERT(ep <= NUM_EP);    // PCD_EP_TYPE* and USB_* have the same values.  Let's make sure that    // doesn't change.    DEBUG_ASSERT(PCD_EP_TYPE_CTRL == USB_CTRL);    DEBUG_ASSERT(PCD_EP_TYPE_ISOC == USB_ISOC);    DEBUG_ASSERT(PCD_EP_TYPE_BULK == USB_BULK);    DEBUG_ASSERT(PCD_EP_TYPE_INTR == USB_INTR);    uint8_t ep_addr = ep | ((dir == USB_IN) ? 0x80 : 0);    HAL_PCDEx_PMAConfig(&usbc.handle, ep_addr, PCD_SNG_BUF,                        stm32_usbc_pma_alloc(width));    HAL_StatusTypeDef ret = HAL_PCD_EP_Open(&usbc.handle, ep_addr, width, type);    return (ret == HAL_OK) ? NO_ERROR : ERR_GENERIC;}
开发者ID:Gitsyshk,项目名称:lk,代码行数:21,



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


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