这篇教程C++ HAL_PCD_SetAddress函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中HAL_PCD_SetAddress函数的典型用法代码示例。如果您正苦于以下问题:C++ HAL_PCD_SetAddress函数的具体用法?C++ HAL_PCD_SetAddress怎么用?C++ HAL_PCD_SetAddress使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了HAL_PCD_SetAddress函数的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: USBD_LL_SetUSBAddress/** * @brief Assigns a USB address to the device. * @param pdev: Device handle * @param ep_addr: Endpoint Number * @retval USBD Status */USBD_StatusTypeDef USBD_LL_SetUSBAddress (USBD_HandleTypeDef *pdev, uint8_t dev_addr) { HAL_PCD_SetAddress(pdev->pData, dev_addr); return USBD_OK; }
开发者ID:jirik09,项目名称:Instrulab,代码行数:12,
示例2: usbc_set_addressvoid usbc_set_address(uint8_t address){ LTRACEF("address %u/n", address); HAL_PCD_SetAddress(&usbc.handle, address);}
开发者ID:Gitsyshk,项目名称:lk,代码行数:5,
示例3: HAL_PCD_IRQHandler/** * @brief This function handles PCD interrupt request. * @param hpcd: PCD handle * @retval HAL status */void HAL_PCD_IRQHandler(PCD_HandleTypeDef *hpcd){ uint32_t wInterrupt_Mask = 0; if (__HAL_PCD_GET_FLAG (hpcd, USB_ISTR_CTR)) { /* servicing of the endpoint correct transfer interrupt */ /* clear of the CTR flag into the sub */ PCD_EP_ISR_Handler(hpcd); } if (__HAL_PCD_GET_FLAG (hpcd, USB_ISTR_RESET)) { __HAL_PCD_CLEAR_FLAG(hpcd, USB_ISTR_RESET); HAL_PCD_ResetCallback(hpcd); HAL_PCD_SetAddress(hpcd, 0); } if (__HAL_PCD_GET_FLAG (hpcd, USB_ISTR_PMAOVRM)) { __HAL_PCD_CLEAR_FLAG(hpcd, USB_ISTR_PMAOVRM); } if (__HAL_PCD_GET_FLAG (hpcd, USB_ISTR_ERR)) { __HAL_PCD_CLEAR_FLAG(hpcd, USB_ISTR_ERR); } if (__HAL_PCD_GET_FLAG (hpcd, USB_ISTR_WKUP)) { hpcd->Instance->CNTR &= ~(USB_CNTR_LP_MODE); /*set wInterrupt_Mask global variable*/ wInterrupt_Mask = USB_CNTR_CTRM | USB_CNTR_WKUPM | USB_CNTR_SUSPM | USB_CNTR_ERRM / | USB_CNTR_ESOFM | USB_CNTR_RESETM; /*Set interrupt mask*/ hpcd->Instance->CNTR = wInterrupt_Mask; HAL_PCD_ResumeCallback(hpcd); __HAL_PCD_CLEAR_FLAG(hpcd, USB_ISTR_WKUP); } if (__HAL_PCD_GET_FLAG (hpcd, USB_ISTR_SUSP)) { /* clear of the ISTR bit must be done after setting of CNTR_FSUSP */ __HAL_PCD_CLEAR_FLAG(hpcd, USB_ISTR_SUSP); /* Force low-power mode in the macrocell */ hpcd->Instance->CNTR |= USB_CNTR_FSUSP; hpcd->Instance->CNTR |= USB_CNTR_LP_MODE; if (__HAL_PCD_GET_FLAG (hpcd, USB_ISTR_WKUP) == 0) { HAL_PCD_SuspendCallback(hpcd); } } if (__HAL_PCD_GET_FLAG (hpcd, USB_ISTR_SOF)) { __HAL_PCD_CLEAR_FLAG(hpcd, USB_ISTR_SOF); HAL_PCD_SOFCallback(hpcd); } if (__HAL_PCD_GET_FLAG (hpcd, USB_ISTR_ESOF)) { /* clear ESOF flag in ISTR */ __HAL_PCD_CLEAR_FLAG(hpcd, USB_ISTR_ESOF); }}
开发者ID:nickmolo,项目名称:ECE477,代码行数:74,
示例4: HAL_PCD_IRQHandler/** * @brief This function handles PCD interrupt request. * @param hpcd: PCD handle * @retval HAL status */void HAL_PCD_IRQHandler(PCD_HandleTypeDef *hpcd){ uint32_t wInterrupt_Mask = 0U; if (__HAL_PCD_GET_FLAG (hpcd, USB_ISTR_CTR)) { /* servicing of the endpoint correct transfer interrupt */ /* clear of the CTR flag into the sub */ PCD_EP_ISR_Handler(hpcd); } if (__HAL_PCD_GET_FLAG (hpcd, USB_ISTR_RESET)) { __HAL_PCD_CLEAR_FLAG(hpcd, USB_ISTR_RESET); HAL_PCD_ResetCallback(hpcd); HAL_PCD_SetAddress(hpcd, 0U); } if (__HAL_PCD_GET_FLAG (hpcd, USB_ISTR_PMAOVR)) { __HAL_PCD_CLEAR_FLAG(hpcd, USB_ISTR_PMAOVR); } if (__HAL_PCD_GET_FLAG (hpcd, USB_ISTR_ERR)) { __HAL_PCD_CLEAR_FLAG(hpcd, USB_ISTR_ERR); } if (__HAL_PCD_GET_FLAG (hpcd, USB_ISTR_WKUP)) { hpcd->Instance->CNTR &= (uint16_t) ~(USB_CNTR_LPMODE); /*set wInterrupt_Mask global variable*/ wInterrupt_Mask = USB_CNTR_CTRM | USB_CNTR_WKUPM | USB_CNTR_SUSPM | USB_CNTR_ERRM / | USB_CNTR_SOFM | USB_CNTR_ESOFM | USB_CNTR_RESETM; /*Set interrupt mask*/ hpcd->Instance->CNTR = wInterrupt_Mask; /* enable L1REQ interrupt */ if (hpcd->Init.lpm_enable ==1) { wInterrupt_Mask |= USB_CNTR_L1REQM; /* Enable LPM support and enable ACK answer to LPM request*/ USB_TypeDef *USBx = hpcd->Instance; hpcd->lpm_active = ENABLE; hpcd->LPM_State = LPM_L0; USBx->LPMCSR |= (USB_LPMCSR_LMPEN); USBx->LPMCSR |= (USB_LPMCSR_LPMACK); } HAL_PCD_ResumeCallback(hpcd); __HAL_PCD_CLEAR_FLAG(hpcd, USB_ISTR_WKUP); } if (__HAL_PCD_GET_FLAG (hpcd, USB_ISTR_SUSP)) { /* clear of the ISTR bit must be done after setting of CNTR_FSUSP */ __HAL_PCD_CLEAR_FLAG(hpcd, USB_ISTR_SUSP); /* Force low-power mode in the macrocell */ hpcd->Instance->CNTR |= USB_CNTR_FSUSP; hpcd->Instance->CNTR |= USB_CNTR_LPMODE; if (__HAL_PCD_GET_FLAG (hpcd, USB_ISTR_WKUP) == 0U) { HAL_PCD_SuspendCallback(hpcd); } } /* Handle LPM Interrupt */ if(__HAL_PCD_GET_FLAG(hpcd, USB_ISTR_L1REQ)) { __HAL_PCD_CLEAR_FLAG(hpcd, USB_ISTR_L1REQ); if( hpcd->LPM_State == LPM_L0) { /* Force suspend and low-power mode before going to L1 state*/ hpcd->Instance->CNTR |= USB_CNTR_LPMODE; hpcd->Instance->CNTR |= USB_CNTR_FSUSP; hpcd->LPM_State = LPM_L1; hpcd->BESL = (hpcd->Instance->LPMCSR & USB_LPMCSR_BESL) >>2 ; HAL_PCDEx_LPM_Callback(hpcd, PCD_LPM_L1_ACTIVE); } else {
开发者ID:heyuanjie87,项目名称:rt-thread,代码行数:95,
注:本文中的HAL_PCD_SetAddress函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 C++ HAL_PCD_Start函数代码示例 C++ HAL_PCD_Init函数代码示例 |