mbed library sources. Supersedes mbed-src.

Dependents:   Nucleo_Hello_Encoder BLE_iBeaconScan AM1805_DEMO DISCO-F429ZI_ExportTemplate1 ... more

Committer:
AnnaBridge
Date:
Mon Oct 02 15:33:19 2017 +0100
Revision:
174:b96e65c34a4d
This updates the lib to the mbed lib v 152

Who changed what in which revision?

UserRevisionLine numberNew contents of line
AnnaBridge 174:b96e65c34a4d 1 /**************************************************************************//**
AnnaBridge 174:b96e65c34a4d 2 * @file sc.h
AnnaBridge 174:b96e65c34a4d 3 * @version V1.00
AnnaBridge 174:b96e65c34a4d 4 * $Revision: 7 $
AnnaBridge 174:b96e65c34a4d 5 * $Date: 15/07/31 7:26p $
AnnaBridge 174:b96e65c34a4d 6 * @brief Nano100 series Smartcard (SC) driver header file
AnnaBridge 174:b96e65c34a4d 7 *
AnnaBridge 174:b96e65c34a4d 8 * @note
AnnaBridge 174:b96e65c34a4d 9 * Copyright (C) 2013~2014 Nuvoton Technology Corp. All rights reserved.
AnnaBridge 174:b96e65c34a4d 10 *****************************************************************************/
AnnaBridge 174:b96e65c34a4d 11 #ifndef __SC_H__
AnnaBridge 174:b96e65c34a4d 12 #define __SC_H__
AnnaBridge 174:b96e65c34a4d 13
AnnaBridge 174:b96e65c34a4d 14 #ifdef __cplusplus
AnnaBridge 174:b96e65c34a4d 15 extern "C"
AnnaBridge 174:b96e65c34a4d 16 {
AnnaBridge 174:b96e65c34a4d 17 #endif
AnnaBridge 174:b96e65c34a4d 18
AnnaBridge 174:b96e65c34a4d 19
AnnaBridge 174:b96e65c34a4d 20 /** @addtogroup NANO100_Device_Driver NANO100 Device Driver
AnnaBridge 174:b96e65c34a4d 21 @{
AnnaBridge 174:b96e65c34a4d 22 */
AnnaBridge 174:b96e65c34a4d 23
AnnaBridge 174:b96e65c34a4d 24 /** @addtogroup NANO100_SC_Driver SC Driver
AnnaBridge 174:b96e65c34a4d 25 @{
AnnaBridge 174:b96e65c34a4d 26 */
AnnaBridge 174:b96e65c34a4d 27
AnnaBridge 174:b96e65c34a4d 28 /** @addtogroup NANO100_SC_EXPORTED_CONSTANTS SC Exported Constants
AnnaBridge 174:b96e65c34a4d 29 @{
AnnaBridge 174:b96e65c34a4d 30 */
AnnaBridge 174:b96e65c34a4d 31 #define SC_INTERFACE_NUM 3 /*!< Smartcard interface numbers */
AnnaBridge 174:b96e65c34a4d 32 #define SC_PIN_STATE_HIGH 1 /*!< Smartcard pin status high */
AnnaBridge 174:b96e65c34a4d 33 #define SC_PIN_STATE_LOW 0 /*!< Smartcard pin status low */
AnnaBridge 174:b96e65c34a4d 34 #define SC_PIN_STATE_IGNORE 0xFFFFFFFF /*!< Ignore pin status */
AnnaBridge 174:b96e65c34a4d 35 #define SC_CLK_ON 1 /*!< Smartcard clock on */
AnnaBridge 174:b96e65c34a4d 36 #define SC_CLK_OFF 0 /*!< Smartcard clock off */
AnnaBridge 174:b96e65c34a4d 37
AnnaBridge 174:b96e65c34a4d 38 #define SC_TMR_MODE_0 (0ul << SC_TMR0_MODE_Pos) /*!<Timer Operation Mode 0, down count */
AnnaBridge 174:b96e65c34a4d 39 #define SC_TMR_MODE_1 (1ul << SC_TMR0_MODE_Pos) /*!<Timer Operation Mode 1, down count, start after detect start bit */
AnnaBridge 174:b96e65c34a4d 40 #define SC_TMR_MODE_2 (2ul << SC_TMR0_MODE_Pos) /*!<Timer Operation Mode 2, down count, start after receive start bit */
AnnaBridge 174:b96e65c34a4d 41 #define SC_TMR_MODE_3 (3ul << SC_TMR0_MODE_Pos) /*!<Timer Operation Mode 3, down count, use for activation, only timer 0 support this mode */
AnnaBridge 174:b96e65c34a4d 42 #define SC_TMR_MODE_4 (4ul << SC_TMR0_MODE_Pos) /*!<Timer Operation Mode 4, down count with reload after timeout */
AnnaBridge 174:b96e65c34a4d 43 #define SC_TMR_MODE_5 (5ul << SC_TMR0_MODE_Pos) /*!<Timer Operation Mode 5, down count, start after detect start bit, reload after timeout */
AnnaBridge 174:b96e65c34a4d 44 #define SC_TMR_MODE_6 (6ul << SC_TMR0_MODE_Pos) /*!<Timer Operation Mode 6, down count, start after receive start bit, reload after timeout */
AnnaBridge 174:b96e65c34a4d 45 #define SC_TMR_MODE_7 (7ul << SC_TMR0_MODE_Pos) /*!<Timer Operation Mode 7, down count, start and reload after detect start bit */
AnnaBridge 174:b96e65c34a4d 46 #define SC_TMR_MODE_8 (8ul << SC_TMR0_MODE_Pos) /*!<Timer Operation Mode 8, up count */
AnnaBridge 174:b96e65c34a4d 47 #define SC_TMR_MODE_F (0xF << SC_TMR0_MODE_Pos) /*!<Timer Operation Mode 15, down count, reload after detect start bit */
AnnaBridge 174:b96e65c34a4d 48
AnnaBridge 174:b96e65c34a4d 49
AnnaBridge 174:b96e65c34a4d 50 /*@}*/ /* end of group NANO100_SC_EXPORTED_CONSTANTS */
AnnaBridge 174:b96e65c34a4d 51
AnnaBridge 174:b96e65c34a4d 52
AnnaBridge 174:b96e65c34a4d 53 /** @addtogroup NANO100_SC_EXPORTED_FUNCTIONS SC Exported Functions
AnnaBridge 174:b96e65c34a4d 54 @{
AnnaBridge 174:b96e65c34a4d 55 */
AnnaBridge 174:b96e65c34a4d 56
AnnaBridge 174:b96e65c34a4d 57 /**
AnnaBridge 174:b96e65c34a4d 58 * @brief This macro enable smartcard interrupt
AnnaBridge 174:b96e65c34a4d 59 * @param[in] sc Base address of smartcard module
AnnaBridge 174:b96e65c34a4d 60 * @param[in] u32Mask Interrupt mask to be enabled. A combination of
AnnaBridge 174:b96e65c34a4d 61 * - \ref SC_IER_ACON_ERR_IE_Msk
AnnaBridge 174:b96e65c34a4d 62 * - \ref SC_IER_RTMR_IE_Msk
AnnaBridge 174:b96e65c34a4d 63 * - \ref SC_IER_INIT_IE_Msk
AnnaBridge 174:b96e65c34a4d 64 * - \ref SC_IER_CD_IE_Msk
AnnaBridge 174:b96e65c34a4d 65 * - \ref SC_IER_BGT_IE_Msk
AnnaBridge 174:b96e65c34a4d 66 * - \ref SC_IER_TMR2_IE_Msk
AnnaBridge 174:b96e65c34a4d 67 * - \ref SC_IER_TMR1_IE_Msk
AnnaBridge 174:b96e65c34a4d 68 * - \ref SC_IER_TMR0_IE_Msk
AnnaBridge 174:b96e65c34a4d 69 * - \ref SC_IER_TERR_IE_Msk
AnnaBridge 174:b96e65c34a4d 70 * - \ref SC_IER_TBE_IE_Msk
AnnaBridge 174:b96e65c34a4d 71 * - \ref SC_IER_RDA_IE_Msk
AnnaBridge 174:b96e65c34a4d 72 * @return None
AnnaBridge 174:b96e65c34a4d 73 * \hideinitializer
AnnaBridge 174:b96e65c34a4d 74 */
AnnaBridge 174:b96e65c34a4d 75 #define SC_ENABLE_INT(sc, u32Mask) ((sc)->IER |= (u32Mask))
AnnaBridge 174:b96e65c34a4d 76
AnnaBridge 174:b96e65c34a4d 77 /**
AnnaBridge 174:b96e65c34a4d 78 * @brief This macro disable smartcard interrupt
AnnaBridge 174:b96e65c34a4d 79 * @param[in] sc Base address of smartcard module
AnnaBridge 174:b96e65c34a4d 80 * @param[in] u32Mask Interrupt mask to be disabled. A combination of
AnnaBridge 174:b96e65c34a4d 81 * - \ref SC_IER_ACON_ERR_IE_Msk
AnnaBridge 174:b96e65c34a4d 82 * - \ref SC_IER_RTMR_IE_Msk
AnnaBridge 174:b96e65c34a4d 83 * - \ref SC_IER_INIT_IE_Msk
AnnaBridge 174:b96e65c34a4d 84 * - \ref SC_IER_CD_IE_Msk
AnnaBridge 174:b96e65c34a4d 85 * - \ref SC_IER_BGT_IE_Msk
AnnaBridge 174:b96e65c34a4d 86 * - \ref SC_IER_TMR2_IE_Msk
AnnaBridge 174:b96e65c34a4d 87 * - \ref SC_IER_TMR1_IE_Msk
AnnaBridge 174:b96e65c34a4d 88 * - \ref SC_IER_TMR0_IE_Msk
AnnaBridge 174:b96e65c34a4d 89 * - \ref SC_IER_TERR_IE_Msk
AnnaBridge 174:b96e65c34a4d 90 * - \ref SC_IER_TBE_IE_Msk
AnnaBridge 174:b96e65c34a4d 91 * - \ref SC_IER_RDA_IE_Msk
AnnaBridge 174:b96e65c34a4d 92 * @return None
AnnaBridge 174:b96e65c34a4d 93 * \hideinitializer
AnnaBridge 174:b96e65c34a4d 94 */
AnnaBridge 174:b96e65c34a4d 95 #define SC_DISABLE_INT(sc, u32Mask) ((sc)->IER &= ~(u32Mask))
AnnaBridge 174:b96e65c34a4d 96
AnnaBridge 174:b96e65c34a4d 97 /**
AnnaBridge 174:b96e65c34a4d 98 * @brief This macro set VCC pin state of smartcard interface
AnnaBridge 174:b96e65c34a4d 99 * @param[in] sc Base address of smartcard module
AnnaBridge 174:b96e65c34a4d 100 * @param[in] u32State Pin state of VCC pin, valid parameters are \ref SC_PIN_STATE_HIGH and \ref SC_PIN_STATE_LOW
AnnaBridge 174:b96e65c34a4d 101 * @return None
AnnaBridge 174:b96e65c34a4d 102 * \hideinitializer
AnnaBridge 174:b96e65c34a4d 103 */
AnnaBridge 174:b96e65c34a4d 104 #define SC_SET_VCC_PIN(sc, u32State) \
AnnaBridge 174:b96e65c34a4d 105 do {\
AnnaBridge 174:b96e65c34a4d 106 uint32_t reg = (sc)->PINCSR;\
AnnaBridge 174:b96e65c34a4d 107 if(((reg & (SC_PINCSR_POW_EN_Msk | SC_PINCSR_POW_INV_Msk)) == 0) ||\
AnnaBridge 174:b96e65c34a4d 108 ((reg & (SC_PINCSR_POW_EN_Msk | SC_PINCSR_POW_INV_Msk)) == (SC_PINCSR_POW_EN_Msk | SC_PINCSR_POW_INV_Msk)))\
AnnaBridge 174:b96e65c34a4d 109 reg &= ~SC_PINCSR_POW_EN_Msk;\
AnnaBridge 174:b96e65c34a4d 110 else\
AnnaBridge 174:b96e65c34a4d 111 reg |= SC_PINCSR_POW_EN_Msk;\
AnnaBridge 174:b96e65c34a4d 112 if(u32State)\
AnnaBridge 174:b96e65c34a4d 113 (sc)->PINCSR = reg | SC_PINCSR_POW_EN_Msk;\
AnnaBridge 174:b96e65c34a4d 114 else\
AnnaBridge 174:b96e65c34a4d 115 (sc)->PINCSR = reg & ~SC_PINCSR_POW_EN_Msk;\
AnnaBridge 174:b96e65c34a4d 116 }while(0)
AnnaBridge 174:b96e65c34a4d 117
AnnaBridge 174:b96e65c34a4d 118
AnnaBridge 174:b96e65c34a4d 119 /**
AnnaBridge 174:b96e65c34a4d 120 * @brief This macro turns CLK output on or off
AnnaBridge 174:b96e65c34a4d 121 * @param[in] sc Base address of smartcard module
AnnaBridge 174:b96e65c34a4d 122 * @param[in] u32OnOff Clock on or off for selected smartcard module, valid values are \ref SC_CLK_ON and \ref SC_CLK_OFF
AnnaBridge 174:b96e65c34a4d 123 * @return None
AnnaBridge 174:b96e65c34a4d 124 * \hideinitializer
AnnaBridge 174:b96e65c34a4d 125 */
AnnaBridge 174:b96e65c34a4d 126 #define SC_SET_CLK_PIN(sc, u32OnOff)\
AnnaBridge 174:b96e65c34a4d 127 do {\
AnnaBridge 174:b96e65c34a4d 128 uint32_t reg = (sc)->PINCSR;\
AnnaBridge 174:b96e65c34a4d 129 if(((reg & (SC_PINCSR_POW_EN_Msk | SC_PINCSR_POW_INV_Msk)) == 0) ||\
AnnaBridge 174:b96e65c34a4d 130 ((reg & (SC_PINCSR_POW_EN_Msk | SC_PINCSR_POW_INV_Msk)) == (SC_PINCSR_POW_EN_Msk | SC_PINCSR_POW_INV_Msk)))\
AnnaBridge 174:b96e65c34a4d 131 reg &= ~SC_PINCSR_POW_EN_Msk;\
AnnaBridge 174:b96e65c34a4d 132 else\
AnnaBridge 174:b96e65c34a4d 133 reg |= SC_PINCSR_POW_EN_Msk;\
AnnaBridge 174:b96e65c34a4d 134 if(u32OnOff)\
AnnaBridge 174:b96e65c34a4d 135 (sc)->PINCSR = reg | SC_PINCSR_CLK_KEEP_Msk;\
AnnaBridge 174:b96e65c34a4d 136 else\
AnnaBridge 174:b96e65c34a4d 137 (sc)->PINCSR = reg & ~SC_PINCSR_CLK_KEEP_Msk;\
AnnaBridge 174:b96e65c34a4d 138 }while(0)
AnnaBridge 174:b96e65c34a4d 139
AnnaBridge 174:b96e65c34a4d 140 /**
AnnaBridge 174:b96e65c34a4d 141 * @brief This macro set I/O pin state of smartcard interface
AnnaBridge 174:b96e65c34a4d 142 * @param[in] sc Base address of smartcard module
AnnaBridge 174:b96e65c34a4d 143 * @param[in] u32State Pin state of I/O pin, valid parameters are \ref SC_PIN_STATE_HIGH and \ref SC_PIN_STATE_LOW
AnnaBridge 174:b96e65c34a4d 144 * @return None
AnnaBridge 174:b96e65c34a4d 145 * \hideinitializer
AnnaBridge 174:b96e65c34a4d 146 */
AnnaBridge 174:b96e65c34a4d 147 #define SC_SET_IO_PIN(sc, u32State)\
AnnaBridge 174:b96e65c34a4d 148 do {\
AnnaBridge 174:b96e65c34a4d 149 uint32_t reg = (sc)->PINCSR;\
AnnaBridge 174:b96e65c34a4d 150 if(((reg & (SC_PINCSR_POW_EN_Msk | SC_PINCSR_POW_INV_Msk)) == 0) ||\
AnnaBridge 174:b96e65c34a4d 151 ((reg & (SC_PINCSR_POW_EN_Msk | SC_PINCSR_POW_INV_Msk)) == (SC_PINCSR_POW_EN_Msk | SC_PINCSR_POW_INV_Msk)))\
AnnaBridge 174:b96e65c34a4d 152 reg &= ~SC_PINCSR_POW_EN_Msk;\
AnnaBridge 174:b96e65c34a4d 153 else\
AnnaBridge 174:b96e65c34a4d 154 reg |= SC_PINCSR_POW_EN_Msk;\
AnnaBridge 174:b96e65c34a4d 155 if(u32State)\
AnnaBridge 174:b96e65c34a4d 156 (sc)->PINCSR = reg | SC_PINCSR_SC_DATA_O_Msk;\
AnnaBridge 174:b96e65c34a4d 157 else\
AnnaBridge 174:b96e65c34a4d 158 (sc)->PINCSR = reg & ~SC_PINCSR_SC_DATA_O_Msk;\
AnnaBridge 174:b96e65c34a4d 159 }while(0)
AnnaBridge 174:b96e65c34a4d 160
AnnaBridge 174:b96e65c34a4d 161 /**
AnnaBridge 174:b96e65c34a4d 162 * @brief This macro set RST pin state of smartcard interface
AnnaBridge 174:b96e65c34a4d 163 * @param[in] sc Base address of smartcard module
AnnaBridge 174:b96e65c34a4d 164 * @param[in] u32State Pin state of RST pin, valid parameters are \ref SC_PIN_STATE_HIGH and \ref SC_PIN_STATE_LOW
AnnaBridge 174:b96e65c34a4d 165 * @return None
AnnaBridge 174:b96e65c34a4d 166 * \hideinitializer
AnnaBridge 174:b96e65c34a4d 167 */
AnnaBridge 174:b96e65c34a4d 168 #define SC_SET_RST_PIN(sc, u32State)\
AnnaBridge 174:b96e65c34a4d 169 do {\
AnnaBridge 174:b96e65c34a4d 170 uint32_t reg = (sc)->PINCSR;\
AnnaBridge 174:b96e65c34a4d 171 if(((reg & (SC_PINCSR_POW_EN_Msk | SC_PINCSR_POW_INV_Msk)) == 0) ||\
AnnaBridge 174:b96e65c34a4d 172 ((reg & (SC_PINCSR_POW_EN_Msk | SC_PINCSR_POW_INV_Msk)) == (SC_PINCSR_POW_EN_Msk | SC_PINCSR_POW_INV_Msk)))\
AnnaBridge 174:b96e65c34a4d 173 reg &= ~SC_PINCSR_POW_EN_Msk;\
AnnaBridge 174:b96e65c34a4d 174 else\
AnnaBridge 174:b96e65c34a4d 175 reg |= SC_PINCSR_POW_EN_Msk;\
AnnaBridge 174:b96e65c34a4d 176 if(u32State)\
AnnaBridge 174:b96e65c34a4d 177 (sc)->PINCSR = reg | SC_PINCSR_SC_RST_Msk;\
AnnaBridge 174:b96e65c34a4d 178 else\
AnnaBridge 174:b96e65c34a4d 179 (sc)->PINCSR = reg & ~SC_PINCSR_SC_RST_Msk;\
AnnaBridge 174:b96e65c34a4d 180 }while(0)
AnnaBridge 174:b96e65c34a4d 181
AnnaBridge 174:b96e65c34a4d 182 /**
AnnaBridge 174:b96e65c34a4d 183 * @brief This macro read one byte from smartcard module receive FIFO
AnnaBridge 174:b96e65c34a4d 184 * @param[in] sc Base address of smartcard module
AnnaBridge 174:b96e65c34a4d 185 * @return[in] One byte read from receive FIFO
AnnaBridge 174:b96e65c34a4d 186 * \hideinitializer
AnnaBridge 174:b96e65c34a4d 187 */
AnnaBridge 174:b96e65c34a4d 188 #define SC_READ(sc) ((char)((sc)->RBR))
AnnaBridge 174:b96e65c34a4d 189
AnnaBridge 174:b96e65c34a4d 190 /**
AnnaBridge 174:b96e65c34a4d 191 * @brief This macro write one byte to smartcard module transmit FIFO
AnnaBridge 174:b96e65c34a4d 192 * @param[in] sc Base address of smartcard module
AnnaBridge 174:b96e65c34a4d 193 * @param[in] u8Data Data to write to transmit FIFO
AnnaBridge 174:b96e65c34a4d 194 * @return None
AnnaBridge 174:b96e65c34a4d 195 * \hideinitializer
AnnaBridge 174:b96e65c34a4d 196 */
AnnaBridge 174:b96e65c34a4d 197 #define SC_WRITE(sc, u8Data) ((sc)->THR = (u8Data))
AnnaBridge 174:b96e65c34a4d 198
AnnaBridge 174:b96e65c34a4d 199 /**
AnnaBridge 174:b96e65c34a4d 200 * @brief This macro set smartcard stop bit length
AnnaBridge 174:b96e65c34a4d 201 * @param[in] sc Base address of smartcard module
AnnaBridge 174:b96e65c34a4d 202 * @param[in] u32Len Stop bit length, ether 1 or 2.
AnnaBridge 174:b96e65c34a4d 203 * @return None
AnnaBridge 174:b96e65c34a4d 204 * @details Stop bit length must be 1 for T = 1 protocol and 2 for T = 0 protocol.
AnnaBridge 174:b96e65c34a4d 205 * \hideinitializer
AnnaBridge 174:b96e65c34a4d 206 */
AnnaBridge 174:b96e65c34a4d 207 #define SC_SET_STOP_BIT_LEN(sc, u32Len) ((sc)->CTL = ((sc)->CTL & ~SC_CTL_SLEN_Msk) | (u32Len == 1 ? SC_CTL_SLEN_Msk : 0))
AnnaBridge 174:b96e65c34a4d 208
AnnaBridge 174:b96e65c34a4d 209 /**
AnnaBridge 174:b96e65c34a4d 210 * @brief Enable/Disable Tx error retry, and set Tx error retry count
AnnaBridge 174:b96e65c34a4d 211 * @param[in] sc Base address of smartcard module
AnnaBridge 174:b96e65c34a4d 212 * @param[in] u32Count The number of times of Tx error retry count, between 0~8. 0 means disable Tx error retry
AnnaBridge 174:b96e65c34a4d 213 * @return None
AnnaBridge 174:b96e65c34a4d 214 */
AnnaBridge 174:b96e65c34a4d 215 __STATIC_INLINE void SC_SetTxRetry(SC_T *sc, uint32_t u32Count)
AnnaBridge 174:b96e65c34a4d 216 {
AnnaBridge 174:b96e65c34a4d 217 if(u32Count == 0) { // disable Tx error retry
AnnaBridge 174:b96e65c34a4d 218 sc->CTL &= ~(SC_CTL_TX_ERETRY_Msk | SC_CTL_TX_ERETRY_EN_Msk);
AnnaBridge 174:b96e65c34a4d 219 } else {
AnnaBridge 174:b96e65c34a4d 220 sc->CTL = (sc->CTL & ~SC_CTL_TX_ERETRY_Msk) | ((u32Count - 1) << SC_CTL_TX_ERETRY_Pos) | SC_CTL_TX_ERETRY_EN_Msk;
AnnaBridge 174:b96e65c34a4d 221 }
AnnaBridge 174:b96e65c34a4d 222 }
AnnaBridge 174:b96e65c34a4d 223
AnnaBridge 174:b96e65c34a4d 224 /**
AnnaBridge 174:b96e65c34a4d 225 * @brief Enable/Disable Rx error retry, and set Rx error retry count
AnnaBridge 174:b96e65c34a4d 226 * @param[in] sc Base address of smartcard module
AnnaBridge 174:b96e65c34a4d 227 * @param[in] u32Count The number of times of Rx error retry count, between 0~8. 0 means disable Rx error retry
AnnaBridge 174:b96e65c34a4d 228 * @return None
AnnaBridge 174:b96e65c34a4d 229 */
AnnaBridge 174:b96e65c34a4d 230 __STATIC_INLINE void SC_SetRxRetry(SC_T *sc, uint32_t u32Count)
AnnaBridge 174:b96e65c34a4d 231 {
AnnaBridge 174:b96e65c34a4d 232
AnnaBridge 174:b96e65c34a4d 233 if(u32Count == 0) { // disable Rx error retry
AnnaBridge 174:b96e65c34a4d 234 sc->CTL &= ~(SC_CTL_RX_ERETRY_Msk | SC_CTL_RX_ERETRY_EN_Msk);
AnnaBridge 174:b96e65c34a4d 235 } else {
AnnaBridge 174:b96e65c34a4d 236 sc->CTL = (sc->CTL & ~SC_CTL_RX_ERETRY_Msk) | ((u32Count - 1) << SC_CTL_RX_ERETRY_Pos) | SC_CTL_RX_ERETRY_EN_Msk;
AnnaBridge 174:b96e65c34a4d 237 }
AnnaBridge 174:b96e65c34a4d 238 }
AnnaBridge 174:b96e65c34a4d 239
AnnaBridge 174:b96e65c34a4d 240
AnnaBridge 174:b96e65c34a4d 241 uint32_t SC_IsCardInserted(SC_T *sc);
AnnaBridge 174:b96e65c34a4d 242 void SC_ClearFIFO(SC_T *sc);
AnnaBridge 174:b96e65c34a4d 243 void SC_Close(SC_T *sc);
AnnaBridge 174:b96e65c34a4d 244 void SC_Open(SC_T *sc, uint32_t u32CardDet, uint32_t u32PWR);
AnnaBridge 174:b96e65c34a4d 245 void SC_ResetReader(SC_T *sc);
AnnaBridge 174:b96e65c34a4d 246 void SC_SetBlockGuardTime(SC_T *sc, uint32_t u32BGT);
AnnaBridge 174:b96e65c34a4d 247 void SC_SetCharGuardTime(SC_T *sc, uint32_t u32CGT);
AnnaBridge 174:b96e65c34a4d 248 void SC_StopAllTimer(SC_T *sc);
AnnaBridge 174:b96e65c34a4d 249 void SC_StartTimer(SC_T *sc, uint32_t u32TimerNum, uint32_t u32Mode, uint32_t u32ETUCount);
AnnaBridge 174:b96e65c34a4d 250 void SC_StopTimer(SC_T *sc, uint32_t u32TimerNum);
AnnaBridge 174:b96e65c34a4d 251
AnnaBridge 174:b96e65c34a4d 252
AnnaBridge 174:b96e65c34a4d 253 /*@}*/ /* end of group NANO100_SC_EXPORTED_FUNCTIONS */
AnnaBridge 174:b96e65c34a4d 254
AnnaBridge 174:b96e65c34a4d 255 /*@}*/ /* end of group NANO100_SC_Driver */
AnnaBridge 174:b96e65c34a4d 256
AnnaBridge 174:b96e65c34a4d 257 /*@}*/ /* end of group NANO100_Device_Driver */
AnnaBridge 174:b96e65c34a4d 258
AnnaBridge 174:b96e65c34a4d 259 #ifdef __cplusplus
AnnaBridge 174:b96e65c34a4d 260 }
AnnaBridge 174:b96e65c34a4d 261 #endif
AnnaBridge 174:b96e65c34a4d 262
AnnaBridge 174:b96e65c34a4d 263 #endif //__SC_H__
AnnaBridge 174:b96e65c34a4d 264
AnnaBridge 174:b96e65c34a4d 265 /*** (C) COPYRIGHT 2013~2014 Nuvoton Technology Corp. ***/