mbed(SerialHalfDuplex入り)

Fork of mbed by mbed official

Committer:
yusuke_kyo
Date:
Wed Apr 08 08:04:18 2015 +0000
Revision:
98:01a414ca7d6d
Parent:
93:e188a91d3eaa
remove SerialHalfDuplex.h

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Kojto 93:e188a91d3eaa 1 /**
Kojto 93:e188a91d3eaa 2 ******************************************************************************
Kojto 93:e188a91d3eaa 3 * @file stm32f3xx_hal_pcd_ex.h
Kojto 93:e188a91d3eaa 4 * @author MCD Application Team
Kojto 93:e188a91d3eaa 5 * @version V1.1.0
Kojto 93:e188a91d3eaa 6 * @date 12-Sept-2014
Kojto 93:e188a91d3eaa 7 * @brief Header file of PCD HAL Extended module.
Kojto 93:e188a91d3eaa 8 ******************************************************************************
Kojto 93:e188a91d3eaa 9 * @attention
Kojto 93:e188a91d3eaa 10 *
Kojto 93:e188a91d3eaa 11 * <h2><center>&copy; COPYRIGHT(c) 2014 STMicroelectronics</center></h2>
Kojto 93:e188a91d3eaa 12 *
Kojto 93:e188a91d3eaa 13 * Redistribution and use in source and binary forms, with or without modification,
Kojto 93:e188a91d3eaa 14 * are permitted provided that the following conditions are met:
Kojto 93:e188a91d3eaa 15 * 1. Redistributions of source code must retain the above copyright notice,
Kojto 93:e188a91d3eaa 16 * this list of conditions and the following disclaimer.
Kojto 93:e188a91d3eaa 17 * 2. Redistributions in binary form must reproduce the above copyright notice,
Kojto 93:e188a91d3eaa 18 * this list of conditions and the following disclaimer in the documentation
Kojto 93:e188a91d3eaa 19 * and/or other materials provided with the distribution.
Kojto 93:e188a91d3eaa 20 * 3. Neither the name of STMicroelectronics nor the names of its contributors
Kojto 93:e188a91d3eaa 21 * may be used to endorse or promote products derived from this software
Kojto 93:e188a91d3eaa 22 * without specific prior written permission.
Kojto 93:e188a91d3eaa 23 *
Kojto 93:e188a91d3eaa 24 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
Kojto 93:e188a91d3eaa 25 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
Kojto 93:e188a91d3eaa 26 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
Kojto 93:e188a91d3eaa 27 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
Kojto 93:e188a91d3eaa 28 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
Kojto 93:e188a91d3eaa 29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
Kojto 93:e188a91d3eaa 30 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
Kojto 93:e188a91d3eaa 31 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
Kojto 93:e188a91d3eaa 32 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
Kojto 93:e188a91d3eaa 33 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Kojto 93:e188a91d3eaa 34 *
Kojto 93:e188a91d3eaa 35 ******************************************************************************
Kojto 93:e188a91d3eaa 36 */
Kojto 93:e188a91d3eaa 37
Kojto 93:e188a91d3eaa 38 /* Define to prevent recursive inclusion -------------------------------------*/
Kojto 93:e188a91d3eaa 39 #ifndef __STM32F3xx_HAL_PCD_EX_H
Kojto 93:e188a91d3eaa 40 #define __STM32F3xx_HAL_PCD_EX_H
Kojto 93:e188a91d3eaa 41
Kojto 93:e188a91d3eaa 42 #ifdef __cplusplus
Kojto 93:e188a91d3eaa 43 extern "C" {
Kojto 93:e188a91d3eaa 44 #endif
Kojto 93:e188a91d3eaa 45
Kojto 93:e188a91d3eaa 46 #if defined(STM32F302xE) || defined(STM32F303xE) || \
Kojto 93:e188a91d3eaa 47 defined(STM32F302xC) || defined(STM32F303xC) || \
Kojto 93:e188a91d3eaa 48 defined(STM32F302x8) || \
Kojto 93:e188a91d3eaa 49 defined(STM32F373xC)
Kojto 93:e188a91d3eaa 50
Kojto 93:e188a91d3eaa 51 /* Includes ------------------------------------------------------------------*/
Kojto 93:e188a91d3eaa 52 #include "stm32f3xx_hal_def.h"
Kojto 93:e188a91d3eaa 53
Kojto 93:e188a91d3eaa 54 /** @addtogroup STM32F3xx_HAL_Driver
Kojto 93:e188a91d3eaa 55 * @{
Kojto 93:e188a91d3eaa 56 */
Kojto 93:e188a91d3eaa 57
Kojto 93:e188a91d3eaa 58 /** @addtogroup PCDEx
Kojto 93:e188a91d3eaa 59 * @{
Kojto 93:e188a91d3eaa 60 */
Kojto 93:e188a91d3eaa 61
Kojto 93:e188a91d3eaa 62 /* Exported types ------------------------------------------------------------*/
Kojto 93:e188a91d3eaa 63 /* Exported constants --------------------------------------------------------*/
Kojto 93:e188a91d3eaa 64 /* Exported macros -----------------------------------------------------------*/
Kojto 93:e188a91d3eaa 65 /** @defgroup PCDEx_Exported_Macros PCD Extended Exported Macros
Kojto 93:e188a91d3eaa 66 * @{
Kojto 93:e188a91d3eaa 67 */
Kojto 93:e188a91d3eaa 68 /**
Kojto 93:e188a91d3eaa 69 * @brief Gets address in an endpoint register.
Kojto 93:e188a91d3eaa 70 * @param USBx: USB peripheral instance register address.
Kojto 93:e188a91d3eaa 71 * @param bEpNum: Endpoint Number.
Kojto 93:e188a91d3eaa 72 * @retval None
Kojto 93:e188a91d3eaa 73 */
Kojto 93:e188a91d3eaa 74
Kojto 93:e188a91d3eaa 75 #if defined(STM32F302xC) || defined(STM32F303xC) || \
Kojto 93:e188a91d3eaa 76 defined(STM32F373xC)
Kojto 93:e188a91d3eaa 77
Kojto 93:e188a91d3eaa 78 #define PCD_EP_TX_ADDRESS(USBx, bEpNum) ((uint32_t *)((USBx->BTABLE+bEpNum*8)*2+ ((uint32_t)USBx + 0x400)))
Kojto 93:e188a91d3eaa 79 #define PCD_EP_TX_CNT(USBx, bEpNum) ((uint32_t *)((USBx->BTABLE+bEpNum*8+2)*2+ ((uint32_t)USBx + 0x400)))
Kojto 93:e188a91d3eaa 80 #define PCD_EP_RX_ADDRESS(USBx, bEpNum) ((uint32_t *)((USBx->BTABLE+bEpNum*8+4)*2+ ((uint32_t)USBx + 0x400)))
Kojto 93:e188a91d3eaa 81 #define PCD_EP_RX_CNT(USBx, bEpNum) ((uint32_t *)((USBx->BTABLE+bEpNum*8+6)*2+ ((uint32_t)USBx + 0x400)))
Kojto 93:e188a91d3eaa 82
Kojto 93:e188a91d3eaa 83 #define PCD_SET_EP_RX_CNT(USBx, bEpNum,wCount) {\
Kojto 93:e188a91d3eaa 84 uint32_t *pdwReg = PCD_EP_RX_CNT(USBx, bEpNum); \
Kojto 93:e188a91d3eaa 85 PCD_SET_EP_CNT_RX_REG(pdwReg, wCount);\
Kojto 93:e188a91d3eaa 86 }
Kojto 93:e188a91d3eaa 87
Kojto 93:e188a91d3eaa 88 #endif /* STM32F302xC || STM32F303xC || */
Kojto 93:e188a91d3eaa 89 /* STM32F373xC */
Kojto 93:e188a91d3eaa 90
Kojto 93:e188a91d3eaa 91
Kojto 93:e188a91d3eaa 92 #if defined(STM32F302xE) || defined(STM32F303xE) || \
Kojto 93:e188a91d3eaa 93 defined(STM32F302x8)
Kojto 93:e188a91d3eaa 94
Kojto 93:e188a91d3eaa 95 #define PCD_EP_TX_ADDRESS(USBx, bEpNum) ((uint16_t *)((USBx->BTABLE+bEpNum*8)+ ((uint32_t)USBx + 0x400)))
Kojto 93:e188a91d3eaa 96 #define PCD_EP_TX_CNT(USBx, bEpNum) ((uint16_t *)((USBx->BTABLE+bEpNum*8+2)+ ((uint32_t)USBx + 0x400)))
Kojto 93:e188a91d3eaa 97 #define PCD_EP_RX_ADDRESS(USBx, bEpNum) ((uint16_t *)((USBx->BTABLE+bEpNum*8+4)+ ((uint32_t)USBx + 0x400)))
Kojto 93:e188a91d3eaa 98 #define PCD_EP_RX_CNT(USBx, bEpNum) ((uint16_t *)((USBx->BTABLE+bEpNum*8+6)+ ((uint32_t)USBx + 0x400)))
Kojto 93:e188a91d3eaa 99
Kojto 93:e188a91d3eaa 100 #define PCD_SET_EP_RX_CNT(USBx, bEpNum,wCount) {\
Kojto 93:e188a91d3eaa 101 uint16_t *pdwReg = PCD_EP_RX_CNT(USBx, bEpNum); \
Kojto 93:e188a91d3eaa 102 PCD_SET_EP_CNT_RX_REG(pdwReg, wCount);\
Kojto 93:e188a91d3eaa 103 }
Kojto 93:e188a91d3eaa 104
Kojto 93:e188a91d3eaa 105 #endif /* STM32F302xE || STM32F303xE || */
Kojto 93:e188a91d3eaa 106 /* STM32F302x8 */
Kojto 93:e188a91d3eaa 107 /**
Kojto 93:e188a91d3eaa 108 * @}
Kojto 93:e188a91d3eaa 109 */
Kojto 93:e188a91d3eaa 110
Kojto 93:e188a91d3eaa 111 /* Exported functions --------------------------------------------------------*/
Kojto 93:e188a91d3eaa 112 /** @addtogroup PCDEx_Exported_Functions PCD Extended Exported Functions
Kojto 93:e188a91d3eaa 113 * @{
Kojto 93:e188a91d3eaa 114 */
Kojto 93:e188a91d3eaa 115 /** @addtogroup PCDEx_Exported_Functions_Group1 Extended Initialization and de-initialization functions
Kojto 93:e188a91d3eaa 116 * @brief Initialization and Configuration functions
Kojto 93:e188a91d3eaa 117 * @{
Kojto 93:e188a91d3eaa 118 */
Kojto 93:e188a91d3eaa 119 HAL_StatusTypeDef HAL_PCDEx_PMAConfig(PCD_HandleTypeDef *hpcd,
Kojto 93:e188a91d3eaa 120 uint16_t ep_addr,
Kojto 93:e188a91d3eaa 121 uint16_t ep_kind,
Kojto 93:e188a91d3eaa 122 uint32_t pmaadress);
Kojto 93:e188a91d3eaa 123
Kojto 93:e188a91d3eaa 124 __weak void HAL_PCDEx_SetConnectionState(PCD_HandleTypeDef *hpcd, uint8_t state);
Kojto 93:e188a91d3eaa 125
Kojto 93:e188a91d3eaa 126 /**
Kojto 93:e188a91d3eaa 127 * @}
Kojto 93:e188a91d3eaa 128 */
Kojto 93:e188a91d3eaa 129
Kojto 93:e188a91d3eaa 130 /**
Kojto 93:e188a91d3eaa 131 * @}
Kojto 93:e188a91d3eaa 132 */
Kojto 93:e188a91d3eaa 133
Kojto 93:e188a91d3eaa 134 /**
Kojto 93:e188a91d3eaa 135 * @}
Kojto 93:e188a91d3eaa 136 */
Kojto 93:e188a91d3eaa 137
Kojto 93:e188a91d3eaa 138 /**
Kojto 93:e188a91d3eaa 139 * @}
Kojto 93:e188a91d3eaa 140 */
Kojto 93:e188a91d3eaa 141
Kojto 93:e188a91d3eaa 142 #endif /* STM32F302xE || STM32F303xE || */
Kojto 93:e188a91d3eaa 143 /* STM32F302xC || STM32F303xC || */
Kojto 93:e188a91d3eaa 144 /* STM32F302x8 || */
Kojto 93:e188a91d3eaa 145 /* STM32F373xC */
Kojto 93:e188a91d3eaa 146
Kojto 93:e188a91d3eaa 147 #ifdef __cplusplus
Kojto 93:e188a91d3eaa 148 }
Kojto 93:e188a91d3eaa 149 #endif
Kojto 93:e188a91d3eaa 150
Kojto 93:e188a91d3eaa 151
Kojto 93:e188a91d3eaa 152 #endif /* __STM32F3xx_HAL_PCD_EX_H */
Kojto 93:e188a91d3eaa 153
Kojto 93:e188a91d3eaa 154 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/