Rev 2 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2 | Rev 6 | ||
---|---|---|---|
Line 50... | Line 50... | ||
50 | The baud rate register is computed using the following formula: |
50 | The baud rate register is computed using the following formula: |
51 | Baud Rate Register = ((usart_ker_ckpres) / ((hsmartcard->Init.BaudRate))) |
51 | Baud Rate Register = ((usart_ker_ckpres) / ((hsmartcard->Init.BaudRate))) |
52 | where usart_ker_ckpres is the USART input clock divided by a prescaler */ |
52 | where usart_ker_ckpres is the USART input clock divided by a prescaler */ |
53 | 53 | ||
54 | uint32_t WordLength; /*!< Specifies the number of data bits transmitted or received in a frame. |
54 | uint32_t WordLength; /*!< Specifies the number of data bits transmitted or received in a frame. |
55 | This parameter @ref SMARTCARD_Word_Length can only be set to 9 (8 data + 1 parity bits). */ |
55 | This parameter @ref SMARTCARD_Word_Length can only be |
- | 56 | set to 9 (8 data + 1 parity bits). */ |
|
56 | 57 | ||
57 | uint32_t StopBits; /*!< Specifies the number of stop bits. |
58 | uint32_t StopBits; /*!< Specifies the number of stop bits. |
58 | This parameter can be a value of @ref SMARTCARD_Stop_Bits. */ |
59 | This parameter can be a value of @ref SMARTCARD_Stop_Bits. */ |
59 | 60 | ||
60 | uint16_t Parity; /*!< Specifies the parity mode. |
61 | uint16_t Parity; /*!< Specifies the parity mode. |
Line 74... | Line 75... | ||
74 | 75 | ||
75 | uint16_t CLKLastBit; /*!< Specifies whether the clock pulse corresponding to the last transmitted |
76 | uint16_t CLKLastBit; /*!< Specifies whether the clock pulse corresponding to the last transmitted |
76 | data bit (MSB) has to be output on the SCLK pin in synchronous mode. |
77 | data bit (MSB) has to be output on the SCLK pin in synchronous mode. |
77 | This parameter can be a value of @ref SMARTCARD_Last_Bit */ |
78 | This parameter can be a value of @ref SMARTCARD_Last_Bit */ |
78 | 79 | ||
79 | uint16_t OneBitSampling; /*!< Specifies whether a single sample or three samples' majority vote is selected. |
80 | uint16_t OneBitSampling; /*!< Specifies whether a single sample or three samples' majority vote |
80 | Selecting the single sample method increases the receiver tolerance to clock |
81 | is selected. Selecting the single sample method increases |
- | 82 | the receiver tolerance to clock deviations. This parameter can be a value |
|
81 | deviations. This parameter can be a value of @ref SMARTCARD_OneBit_Sampling. */ |
83 | of @ref SMARTCARD_OneBit_Sampling. */ |
82 | 84 | ||
83 | uint8_t Prescaler; /*!< Specifies the SmartCard Prescaler. |
85 | uint8_t Prescaler; /*!< Specifies the SmartCard Prescaler. |
84 | This parameter can be any value from 0x01 to 0x1F. Prescaler value is multiplied |
86 | This parameter can be any value from 0x01 to 0x1F. Prescaler value is |
85 | by 2 to give the division factor of the source clock frequency */ |
87 | multiplied by 2 to give the division factor of the source clock frequency */ |
86 | 88 | ||
87 | uint8_t GuardTime; /*!< Specifies the SmartCard Guard Time applied after stop bits. */ |
89 | uint8_t GuardTime; /*!< Specifies the SmartCard Guard Time applied after stop bits. */ |
88 | 90 | ||
89 | uint16_t NACKEnable; /*!< Specifies whether the SmartCard NACK transmission is enabled |
91 | uint16_t NACKEnable; /*!< Specifies whether the SmartCard NACK transmission is enabled |
90 | in case of parity error. |
92 | in case of parity error. |
Line 106... | Line 108... | ||
106 | an error) */ |
108 | an error) */ |
107 | 109 | ||
108 | } SMARTCARD_InitTypeDef; |
110 | } SMARTCARD_InitTypeDef; |
109 | 111 | ||
110 | /** |
112 | /** |
111 | * @brief SMARTCARD advanced features initalization structure definition |
113 | * @brief SMARTCARD advanced features initialization structure definition |
112 | */ |
114 | */ |
113 | typedef struct |
115 | typedef struct |
114 | { |
116 | { |
115 | uint32_t AdvFeatureInit; /*!< Specifies which advanced SMARTCARD features is initialized. Several |
117 | uint32_t AdvFeatureInit; /*!< Specifies which advanced SMARTCARD features is initialized. Several |
116 | advanced features may be initialized at the same time. This parameter |
118 | advanced features may be initialized at the same time. This parameter |
Line 136... | Line 138... | ||
136 | This parameter can be a value of @ref SMARTCARD_DMA_Disable_on_Rx_Error */ |
138 | This parameter can be a value of @ref SMARTCARD_DMA_Disable_on_Rx_Error */ |
137 | 139 | ||
138 | uint32_t MSBFirst; /*!< Specifies whether MSB is sent first on UART line. |
140 | uint32_t MSBFirst; /*!< Specifies whether MSB is sent first on UART line. |
139 | This parameter can be a value of @ref SMARTCARD_MSB_First */ |
141 | This parameter can be a value of @ref SMARTCARD_MSB_First */ |
140 | 142 | ||
141 | uint16_t TxCompletionIndication; /*!< Specifies which transmission completion indication is used: before (when |
143 | uint16_t TxCompletionIndication; /*!< Specifies which transmission completion indication is used: before (when |
142 | relevant flag is available) or once guard time period has elapsed. |
144 | relevant flag is available) or once guard time period has elapsed. |
- | 145 | This parameter can be a value |
|
143 | This parameter can be a value of @ref SMARTCARDEx_Transmission_Completion_Indication. */ |
146 | of @ref SMARTCARDEx_Transmission_Completion_Indication. */ |
144 | } SMARTCARD_AdvFeatureInitTypeDef; |
147 | } SMARTCARD_AdvFeatureInitTypeDef; |
145 | 148 | ||
146 | /** |
149 | /** |
147 | * @brief HAL SMARTCARD State definition |
150 | * @brief HAL SMARTCARD State definition |
148 | * @note HAL SMARTCARD State value is a combination of 2 different substates: gState and RxState (see @ref SMARTCARD_State_Definition). |
151 | * @note HAL SMARTCARD State value is a combination of 2 different substates: |
- | 152 | * gState and RxState (see @ref SMARTCARD_State_Definition). |
|
149 | * - gState contains SMARTCARD state information related to global Handle management |
153 | * - gState contains SMARTCARD state information related to global Handle management |
150 | * and also information related to Tx operations. |
154 | * and also information related to Tx operations. |
151 | * gState value coding follow below described bitmap : |
155 | * gState value coding follow below described bitmap : |
152 | * b7-b6 Error information |
156 | * b7-b6 Error information |
153 | * 00 : No Error |
157 | * 00 : No Error |
154 | * 01 : (Not Used) |
158 | * 01 : (Not Used) |
155 | * 10 : Timeout |
159 | * 10 : Timeout |
156 | * 11 : Error |
160 | * 11 : Error |
157 | * b5 Peripheral initialization status |
161 | * b5 Peripheral initialization status |
158 | * 0 : Reset (Peripheral not initialized) |
162 | * 0 : Reset (Peripheral not initialized) |
159 | * 1 : Init done (Peripheral not initialized. HAL SMARTCARD Init function already called) |
163 | * 1 : Init done (Peripheral initialized. HAL SMARTCARD Init function already called) |
160 | * b4-b3 (not used) |
164 | * b4-b3 (not used) |
161 | * xx : Should be set to 00 |
165 | * xx : Should be set to 00 |
162 | * b2 Intrinsic process state |
166 | * b2 Intrinsic process state |
163 | * 0 : Ready |
167 | * 0 : Ready |
164 | * 1 : Busy (Peripheral busy with some configuration or internal operations) |
168 | * 1 : Busy (Peripheral busy with some configuration or internal operations) |
Line 171... | Line 175... | ||
171 | * RxState value coding follow below described bitmap : |
175 | * RxState value coding follow below described bitmap : |
172 | * b7-b6 (not used) |
176 | * b7-b6 (not used) |
173 | * xx : Should be set to 00 |
177 | * xx : Should be set to 00 |
174 | * b5 Peripheral initialization status |
178 | * b5 Peripheral initialization status |
175 | * 0 : Reset (Peripheral not initialized) |
179 | * 0 : Reset (Peripheral not initialized) |
176 | * 1 : Init done (Peripheral not initialized) |
180 | * 1 : Init done (Peripheral initialized) |
177 | * b4-b2 (not used) |
181 | * b4-b2 (not used) |
178 | * xxx : Should be set to 000 |
182 | * xxx : Should be set to 000 |
179 | * b1 Rx state |
183 | * b1 Rx state |
180 | * 0 : Ready (no Rx operation ongoing) |
184 | * 0 : Ready (no Rx operation ongoing) |
181 | * 1 : Busy (Rx operation ongoing) |
185 | * 1 : Busy (Rx operation ongoing) |
Line 216... | Line 220... | ||
216 | 220 | ||
217 | DMA_HandleTypeDef *hdmarx; /*!< SmartCard Rx DMA Handle parameters */ |
221 | DMA_HandleTypeDef *hdmarx; /*!< SmartCard Rx DMA Handle parameters */ |
218 | 222 | ||
219 | HAL_LockTypeDef Lock; /*!< Locking object */ |
223 | HAL_LockTypeDef Lock; /*!< Locking object */ |
220 | 224 | ||
221 | __IO HAL_SMARTCARD_StateTypeDef gState; /*!< SmartCard state information related to global Handle management |
225 | __IO HAL_SMARTCARD_StateTypeDef gState; /*!< SmartCard state information related to global |
222 | and also related to Tx operations. |
226 | Handle management and also related to Tx operations. |
223 | This parameter can be a value of @ref HAL_SMARTCARD_StateTypeDef */ |
227 | This parameter can be a value |
- | 228 | of @ref HAL_SMARTCARD_StateTypeDef */ |
|
224 | 229 | ||
225 | __IO HAL_SMARTCARD_StateTypeDef RxState; /*!< SmartCard state information related to Rx operations. |
230 | __IO HAL_SMARTCARD_StateTypeDef RxState; /*!< SmartCard state information related to Rx operations. |
226 | This parameter can be a value of @ref HAL_SMARTCARD_StateTypeDef */ |
231 | This parameter can be a value |
- | 232 | of @ref HAL_SMARTCARD_StateTypeDef */ |
|
227 | 233 | ||
228 | __IO uint32_t ErrorCode; /*!< SmartCard Error code */ |
234 | __IO uint32_t ErrorCode; /*!< SmartCard Error code */ |
229 | 235 | ||
230 | #if (USE_HAL_SMARTCARD_REGISTER_CALLBACKS == 1) |
236 | #if (USE_HAL_SMARTCARD_REGISTER_CALLBACKS == 1) |
231 | void (* TxCpltCallback)(struct __SMARTCARD_HandleTypeDef *hsmartcard); /*!< SMARTCARD Tx Complete Callback */ |
237 | void (* TxCpltCallback)(struct __SMARTCARD_HandleTypeDef *hsmartcard); /*!< SMARTCARD Tx Complete Callback */ |
Line 294... | Line 300... | ||
294 | */ |
300 | */ |
295 | 301 | ||
296 | /** @defgroup SMARTCARD_State_Definition SMARTCARD State Code Definition |
302 | /** @defgroup SMARTCARD_State_Definition SMARTCARD State Code Definition |
297 | * @{ |
303 | * @{ |
298 | */ |
304 | */ |
299 | #define HAL_SMARTCARD_STATE_RESET 0x00000000U /*!< Peripheral is not initialized |
305 | #define HAL_SMARTCARD_STATE_RESET 0x00000000U /*!< Peripheral is not initialized. Value |
300 | Value is allowed for gState and RxState */ |
306 | is allowed for gState and RxState */ |
301 | #define HAL_SMARTCARD_STATE_READY 0x00000020U /*!< Peripheral Initialized and ready for use |
307 | #define HAL_SMARTCARD_STATE_READY 0x00000020U /*!< Peripheral Initialized and ready for |
302 | Value is allowed for gState and RxState */ |
308 | use. Value is allowed for gState |
- | 309 | and RxState */ |
|
303 | #define HAL_SMARTCARD_STATE_BUSY 0x00000024U /*!< an internal process is ongoing |
310 | #define HAL_SMARTCARD_STATE_BUSY 0x00000024U /*!< an internal process is ongoing |
304 | Value is allowed for gState only */ |
311 | Value is allowed for gState only */ |
305 | #define HAL_SMARTCARD_STATE_BUSY_TX 0x00000021U /*!< Data Transmission process is ongoing |
312 | #define HAL_SMARTCARD_STATE_BUSY_TX 0x00000021U /*!< Data Transmission process is ongoing |
306 | Value is allowed for gState only */ |
313 | Value is allowed for gState only */ |
307 | #define HAL_SMARTCARD_STATE_BUSY_RX 0x00000022U /*!< Data Reception process is ongoing |
314 | #define HAL_SMARTCARD_STATE_BUSY_RX 0x00000022U /*!< Data Reception process is ongoing |
308 | Value is allowed for RxState only */ |
315 | Value is allowed for RxState only */ |
309 | #define HAL_SMARTCARD_STATE_BUSY_TX_RX 0x00000023U /*!< Data Transmission and Reception process is ongoing |
316 | #define HAL_SMARTCARD_STATE_BUSY_TX_RX 0x00000023U /*!< Data Transmission and Reception |
- | 317 | process is ongoing Not to be used for |
|
310 | Not to be used for neither gState nor RxState. |
318 | neither gState nor RxState. |
- | 319 | Value is result of combination (Or) |
|
311 | Value is result of combination (Or) between gState and RxState values */ |
320 | between gState and RxState values */ |
312 | #define HAL_SMARTCARD_STATE_TIMEOUT 0x000000A0U /*!< Timeout state |
321 | #define HAL_SMARTCARD_STATE_TIMEOUT 0x000000A0U /*!< Timeout state |
313 | Value is allowed for gState only */ |
322 | Value is allowed for gState only */ |
314 | #define HAL_SMARTCARD_STATE_ERROR 0x000000E0U /*!< Error |
323 | #define HAL_SMARTCARD_STATE_ERROR 0x000000E0U /*!< Error |
315 | Value is allowed for gState only */ |
324 | Value is allowed for gState only */ |
316 | /** |
325 | /** |
317 | * @} |
326 | * @} |
318 | */ |
327 | */ |
319 | 328 | ||
320 | /** @defgroup SMARTCARD_Error_Definition SMARTCARD Error Code Definition |
329 | /** @defgroup SMARTCARD_Error_Definition SMARTCARD Error Code Definition |
321 | * @{ |
330 | * @{ |
322 | */ |
331 | */ |
323 | #define HAL_SMARTCARD_ERROR_NONE ((uint32_t)0x00000000U) /*!< No error */ |
332 | #define HAL_SMARTCARD_ERROR_NONE (0x00000000U) /*!< No error */ |
324 | #define HAL_SMARTCARD_ERROR_PE ((uint32_t)0x00000001U) /*!< Parity error */ |
333 | #define HAL_SMARTCARD_ERROR_PE (0x00000001U) /*!< Parity error */ |
325 | #define HAL_SMARTCARD_ERROR_NE ((uint32_t)0x00000002U) /*!< Noise error */ |
334 | #define HAL_SMARTCARD_ERROR_NE (0x00000002U) /*!< Noise error */ |
326 | #define HAL_SMARTCARD_ERROR_FE ((uint32_t)0x00000004U) /*!< frame error */ |
335 | #define HAL_SMARTCARD_ERROR_FE (0x00000004U) /*!< frame error */ |
327 | #define HAL_SMARTCARD_ERROR_ORE ((uint32_t)0x00000008U) /*!< Overrun error */ |
336 | #define HAL_SMARTCARD_ERROR_ORE (0x00000008U) /*!< Overrun error */ |
328 | #define HAL_SMARTCARD_ERROR_DMA ((uint32_t)0x00000010U) /*!< DMA transfer error */ |
337 | #define HAL_SMARTCARD_ERROR_DMA (0x00000010U) /*!< DMA transfer error */ |
329 | #define HAL_SMARTCARD_ERROR_RTO ((uint32_t)0x00000020U) /*!< Receiver TimeOut error */ |
338 | #define HAL_SMARTCARD_ERROR_RTO (0x00000020U) /*!< Receiver TimeOut error */ |
330 | #if (USE_HAL_SMARTCARD_REGISTER_CALLBACKS == 1) |
339 | #if (USE_HAL_SMARTCARD_REGISTER_CALLBACKS == 1) |
331 | #define HAL_SMARTCARD_ERROR_INVALID_CALLBACK ((uint32_t)0x00000040U) /*!< Invalid Callback error */ |
340 | #define HAL_SMARTCARD_ERROR_INVALID_CALLBACK (0x00000040U) /*!< Invalid Callback error */ |
332 | #endif /* USE_HAL_SMARTCARD_REGISTER_CALLBACKS */ |
341 | #endif /* USE_HAL_SMARTCARD_REGISTER_CALLBACKS */ |
333 | /** |
342 | /** |
334 | * @} |
343 | * @} |
335 | */ |
344 | */ |
336 | 345 | ||
Line 624... | Line 633... | ||
624 | * This parameter can be one of the following values: |
633 | * This parameter can be one of the following values: |
625 | * @arg @ref SMARTCARD_IT_EOB End of block interrupt |
634 | * @arg @ref SMARTCARD_IT_EOB End of block interrupt |
626 | * @arg @ref SMARTCARD_IT_RTO Receive timeout interrupt |
635 | * @arg @ref SMARTCARD_IT_RTO Receive timeout interrupt |
627 | * @arg @ref SMARTCARD_IT_TXE Transmit data register empty interrupt |
636 | * @arg @ref SMARTCARD_IT_TXE Transmit data register empty interrupt |
628 | * @arg @ref SMARTCARD_IT_TC Transmission complete interrupt |
637 | * @arg @ref SMARTCARD_IT_TC Transmission complete interrupt |
- | 638 | * @arg @ref SMARTCARD_IT_TCBGT Transmission complete before |
|
629 | * @arg @ref SMARTCARD_IT_TCBGT Transmission complete before guard time interrupt (when interruption available) |
639 | * guard time interrupt (when interruption available) |
630 | * @arg @ref SMARTCARD_IT_RXNE Receive data register not empty interrupt |
640 | * @arg @ref SMARTCARD_IT_RXNE Receive data register not empty interrupt |
631 | * @arg @ref SMARTCARD_IT_IDLE Idle line detection interrupt |
641 | * @arg @ref SMARTCARD_IT_IDLE Idle line detection interrupt |
632 | * @arg @ref SMARTCARD_IT_PE Parity error interrupt |
642 | * @arg @ref SMARTCARD_IT_PE Parity error interrupt |
633 | * @arg @ref SMARTCARD_IT_ERR Error interrupt(frame error, noise error, overrun error) |
643 | * @arg @ref SMARTCARD_IT_ERR Error interrupt(frame error, noise error, overrun error) |
634 | * @retval None |
644 | * @retval None |
635 | */ |
645 | */ |
636 | #define __HAL_SMARTCARD_ENABLE_IT(__HANDLE__, __INTERRUPT__) (((((__INTERRUPT__) & SMARTCARD_CR_MASK) >> SMARTCARD_CR_POS) == 1U)? ((__HANDLE__)->Instance->CR1 |= ((uint32_t)1U << ((__INTERRUPT__) & SMARTCARD_IT_MASK))): \ |
646 | #define __HAL_SMARTCARD_ENABLE_IT(__HANDLE__, __INTERRUPT__) (((((__INTERRUPT__) & SMARTCARD_CR_MASK) >>\ |
- | 647 | SMARTCARD_CR_POS) == 1U)?\ |
|
- | 648 | ((__HANDLE__)->Instance->CR1 |= (1UL <<\ |
|
- | 649 | ((__INTERRUPT__) & SMARTCARD_IT_MASK))):\ |
|
- | 650 | ((((__INTERRUPT__) & SMARTCARD_CR_MASK) >>\ |
|
- | 651 | SMARTCARD_CR_POS) == 2U)?\ |
|
- | 652 | ((__HANDLE__)->Instance->CR2 |= (1UL <<\ |
|
637 | ((((__INTERRUPT__) & SMARTCARD_CR_MASK) >> SMARTCARD_CR_POS) == 2U)? ((__HANDLE__)->Instance->CR2 |= ((uint32_t)1U << ((__INTERRUPT__) & SMARTCARD_IT_MASK))): \ |
653 | ((__INTERRUPT__) & SMARTCARD_IT_MASK))): \ |
- | 654 | ((__HANDLE__)->Instance->CR3 |= (1UL <<\ |
|
638 | ((__HANDLE__)->Instance->CR3 |= ((uint32_t)1U << ((__INTERRUPT__) & SMARTCARD_IT_MASK)))) |
655 | ((__INTERRUPT__) & SMARTCARD_IT_MASK)))) |
639 | 656 | ||
640 | /** @brief Disable the specified SmartCard interrupt. |
657 | /** @brief Disable the specified SmartCard interrupt. |
641 | * @param __HANDLE__ specifies the SMARTCARD Handle. |
658 | * @param __HANDLE__ specifies the SMARTCARD Handle. |
642 | * @param __INTERRUPT__ specifies the SMARTCARD interrupt to disable. |
659 | * @param __INTERRUPT__ specifies the SMARTCARD interrupt to disable. |
643 | * This parameter can be one of the following values: |
660 | * This parameter can be one of the following values: |
644 | * @arg @ref SMARTCARD_IT_EOB End of block interrupt |
661 | * @arg @ref SMARTCARD_IT_EOB End of block interrupt |
645 | * @arg @ref SMARTCARD_IT_RTO Receive timeout interrupt |
662 | * @arg @ref SMARTCARD_IT_RTO Receive timeout interrupt |
646 | * @arg @ref SMARTCARD_IT_TXE Transmit data register empty interrupt |
663 | * @arg @ref SMARTCARD_IT_TXE Transmit data register empty interrupt |
647 | * @arg @ref SMARTCARD_IT_TC Transmission complete interrupt |
664 | * @arg @ref SMARTCARD_IT_TC Transmission complete interrupt |
648 | * @arg @ref SMARTCARD_IT_TCBGT Transmission complete before guard time interrupt (when interruption available) |
665 | * @arg @ref SMARTCARD_IT_TCBGT Transmission complete before guard |
- | 666 | * time interrupt (when interruption available) |
|
649 | * @arg @ref SMARTCARD_IT_RXNE Receive data register not empty interrupt |
667 | * @arg @ref SMARTCARD_IT_RXNE Receive data register not empty interrupt |
650 | * @arg @ref SMARTCARD_IT_IDLE Idle line detection interrupt |
668 | * @arg @ref SMARTCARD_IT_IDLE Idle line detection interrupt |
651 | * @arg @ref SMARTCARD_IT_PE Parity error interrupt |
669 | * @arg @ref SMARTCARD_IT_PE Parity error interrupt |
652 | * @arg @ref SMARTCARD_IT_ERR Error interrupt(frame error, noise error, overrun error) |
670 | * @arg @ref SMARTCARD_IT_ERR Error interrupt(frame error, noise error, overrun error) |
653 | * @retval None |
671 | * @retval None |
654 | */ |
672 | */ |
655 | #define __HAL_SMARTCARD_DISABLE_IT(__HANDLE__, __INTERRUPT__) (((((__INTERRUPT__) & SMARTCARD_CR_MASK) >> SMARTCARD_CR_POS) == 1U)? ((__HANDLE__)->Instance->CR1 &= ~ ((uint32_t)1U << ((__INTERRUPT__) & SMARTCARD_IT_MASK))): \ |
673 | #define __HAL_SMARTCARD_DISABLE_IT(__HANDLE__, __INTERRUPT__) (((((__INTERRUPT__) & SMARTCARD_CR_MASK) >>\ |
- | 674 | SMARTCARD_CR_POS) == 1U)?\ |
|
- | 675 | ((__HANDLE__)->Instance->CR1 &= ~ (1U <<\ |
|
- | 676 | ((__INTERRUPT__) & SMARTCARD_IT_MASK))): \ |
|
- | 677 | ((((__INTERRUPT__) & SMARTCARD_CR_MASK) >>\ |
|
- | 678 | SMARTCARD_CR_POS) == 2U)?\ |
|
- | 679 | ((__HANDLE__)->Instance->CR2 &= ~ (1U <<\ |
|
656 | ((((__INTERRUPT__) & SMARTCARD_CR_MASK) >> SMARTCARD_CR_POS) == 2U)? ((__HANDLE__)->Instance->CR2 &= ~ ((uint32_t)1U << ((__INTERRUPT__) & SMARTCARD_IT_MASK))): \ |
680 | ((__INTERRUPT__) & SMARTCARD_IT_MASK))): \ |
- | 681 | ((__HANDLE__)->Instance->CR3 &= ~ (1U <<\ |
|
657 | ((__HANDLE__)->Instance->CR3 &= ~ ((uint32_t)1U << ((__INTERRUPT__) & SMARTCARD_IT_MASK)))) |
682 | ((__INTERRUPT__) & SMARTCARD_IT_MASK)))) |
658 | 683 | ||
659 | /** @brief Check whether the specified SmartCard interrupt has occurred or not. |
684 | /** @brief Check whether the specified SmartCard interrupt has occurred or not. |
660 | * @param __HANDLE__ specifies the SMARTCARD Handle. |
685 | * @param __HANDLE__ specifies the SMARTCARD Handle. |
661 | * @param __INTERRUPT__ specifies the SMARTCARD interrupt to check. |
686 | * @param __INTERRUPT__ specifies the SMARTCARD interrupt to check. |
662 | * This parameter can be one of the following values: |
687 | * This parameter can be one of the following values: |
663 | * @arg @ref SMARTCARD_IT_EOB End of block interrupt |
688 | * @arg @ref SMARTCARD_IT_EOB End of block interrupt |
664 | * @arg @ref SMARTCARD_IT_RTO Receive timeout interrupt |
689 | * @arg @ref SMARTCARD_IT_RTO Receive timeout interrupt |
665 | * @arg @ref SMARTCARD_IT_TXE Transmit data register empty interrupt |
690 | * @arg @ref SMARTCARD_IT_TXE Transmit data register empty interrupt |
666 | * @arg @ref SMARTCARD_IT_TC Transmission complete interrupt |
691 | * @arg @ref SMARTCARD_IT_TC Transmission complete interrupt |
667 | * @arg @ref SMARTCARD_IT_TCBGT Transmission complete before guard time interrupt (when interruption available) |
692 | * @arg @ref SMARTCARD_IT_TCBGT Transmission complete before guard time |
- | 693 | * interrupt (when interruption available) |
|
668 | * @arg @ref SMARTCARD_IT_RXNE Receive data register not empty interrupt |
694 | * @arg @ref SMARTCARD_IT_RXNE Receive data register not empty interrupt |
669 | * @arg @ref SMARTCARD_IT_IDLE Idle line detection interrupt |
695 | * @arg @ref SMARTCARD_IT_IDLE Idle line detection interrupt |
670 | * @arg @ref SMARTCARD_IT_PE Parity error interrupt |
696 | * @arg @ref SMARTCARD_IT_PE Parity error interrupt |
671 | * @arg @ref SMARTCARD_IT_ERR Error interrupt(frame error, noise error, overrun error) |
697 | * @arg @ref SMARTCARD_IT_ERR Error interrupt(frame error, noise error, overrun error) |
672 | * @retval The new state of __INTERRUPT__ (SET or RESET). |
698 | * @retval The new state of __INTERRUPT__ (SET or RESET). |
673 | */ |
699 | */ |
674 | #define __HAL_SMARTCARD_GET_IT(__HANDLE__, __INTERRUPT__) ((((__HANDLE__)->Instance->ISR\ |
700 | #define __HAL_SMARTCARD_GET_IT(__HANDLE__, __INTERRUPT__) (\ |
- | 701 | (((__HANDLE__)->Instance->ISR & (0x01UL << (((__INTERRUPT__)\ |
|
675 | & ((uint32_t)0x01U << (((__INTERRUPT__) & SMARTCARD_ISR_MASK)>> SMARTCARD_ISR_POS))) != 0U) ? SET : RESET) |
702 | & SMARTCARD_ISR_MASK)>> SMARTCARD_ISR_POS)))!= 0U)\ |
- | 703 | ? SET : RESET) |
|
676 | 704 | ||
677 | /** @brief Check whether the specified SmartCard interrupt source is enabled or not. |
705 | /** @brief Check whether the specified SmartCard interrupt source is enabled or not. |
678 | * @param __HANDLE__ specifies the SMARTCARD Handle. |
706 | * @param __HANDLE__ specifies the SMARTCARD Handle. |
679 | * @param __INTERRUPT__ specifies the SMARTCARD interrupt source to check. |
707 | * @param __INTERRUPT__ specifies the SMARTCARD interrupt source to check. |
680 | * This parameter can be one of the following values: |
708 | * This parameter can be one of the following values: |
681 | * @arg @ref SMARTCARD_IT_EOB End of block interrupt |
709 | * @arg @ref SMARTCARD_IT_EOB End of block interrupt |
682 | * @arg @ref SMARTCARD_IT_RTO Receive timeout interrupt |
710 | * @arg @ref SMARTCARD_IT_RTO Receive timeout interrupt |
683 | * @arg @ref SMARTCARD_IT_TXE Transmit data register empty interrupt |
711 | * @arg @ref SMARTCARD_IT_TXE Transmit data register empty interrupt |
684 | * @arg @ref SMARTCARD_IT_TC Transmission complete interrupt |
712 | * @arg @ref SMARTCARD_IT_TC Transmission complete interrupt |
685 | * @arg @ref SMARTCARD_IT_TCBGT Transmission complete before guard time interrupt (when interruption available) |
713 | * @arg @ref SMARTCARD_IT_TCBGT Transmission complete before guard time |
- | 714 | * interrupt (when interruption available) |
|
686 | * @arg @ref SMARTCARD_IT_RXNE Receive data register not empty interrupt |
715 | * @arg @ref SMARTCARD_IT_RXNE Receive data register not empty interrupt |
687 | * @arg @ref SMARTCARD_IT_IDLE Idle line detection interrupt |
716 | * @arg @ref SMARTCARD_IT_IDLE Idle line detection interrupt |
688 | * @arg @ref SMARTCARD_IT_PE Parity error interrupt |
717 | * @arg @ref SMARTCARD_IT_PE Parity error interrupt |
689 | * @arg @ref SMARTCARD_IT_ERR Error interrupt(frame error, noise error, overrun error) |
718 | * @arg @ref SMARTCARD_IT_ERR Error interrupt(frame error, noise error, overrun error) |
690 | * @retval The new state of __INTERRUPT__ (SET or RESET). |
719 | * @retval The new state of __INTERRUPT__ (SET or RESET). |
691 | */ |
720 | */ |
692 | #define __HAL_SMARTCARD_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__) ((((((((__INTERRUPT__) & SMARTCARD_CR_MASK) >> SMARTCARD_CR_POS) == 0x01U)? (__HANDLE__)->Instance->CR1 : \ |
721 | #define __HAL_SMARTCARD_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__) ((((((((__INTERRUPT__) & SMARTCARD_CR_MASK) >>\ |
- | 722 | SMARTCARD_CR_POS) == 0x01U)?\ |
|
- | 723 | (__HANDLE__)->Instance->CR1 : \ |
|
693 | (((((__INTERRUPT__) & SMARTCARD_CR_MASK) >> SMARTCARD_CR_POS) == 0x02U)? (__HANDLE__)->Instance->CR2 : \ |
724 | (((((__INTERRUPT__) & SMARTCARD_CR_MASK) >>\ |
- | 725 | SMARTCARD_CR_POS) == 0x02U)?\ |
|
- | 726 | (__HANDLE__)->Instance->CR2 : \ |
|
- | 727 | (__HANDLE__)->Instance->CR3)) &\ |
|
- | 728 | (0x01UL << (((uint16_t)(__INTERRUPT__))\ |
|
694 | (__HANDLE__)->Instance->CR3)) & ((uint32_t)0x01U << (((uint16_t)(__INTERRUPT__)) & SMARTCARD_IT_MASK))) != 0U) ? SET : RESET) |
729 | & SMARTCARD_IT_MASK))) != 0U)\ |
- | 730 | ? SET : RESET) |
|
695 | 731 | ||
696 | /** @brief Clear the specified SMARTCARD ISR flag, in setting the proper ICR register flag. |
732 | /** @brief Clear the specified SMARTCARD ISR flag, in setting the proper ICR register flag. |
697 | * @param __HANDLE__ specifies the SMARTCARD Handle. |
733 | * @param __HANDLE__ specifies the SMARTCARD Handle. |
698 | * @param __IT_CLEAR__ specifies the interrupt clear register flag that needs to be set |
734 | * @param __IT_CLEAR__ specifies the interrupt clear register flag that needs to be set |
699 | * to clear the corresponding interrupt. |
735 | * to clear the corresponding interrupt. |
Line 944... | Line 980... | ||
944 | void HAL_SMARTCARD_MspDeInit(SMARTCARD_HandleTypeDef *hsmartcard); |
980 | void HAL_SMARTCARD_MspDeInit(SMARTCARD_HandleTypeDef *hsmartcard); |
945 | 981 | ||
946 | #if (USE_HAL_SMARTCARD_REGISTER_CALLBACKS == 1) |
982 | #if (USE_HAL_SMARTCARD_REGISTER_CALLBACKS == 1) |
947 | /* Callbacks Register/UnRegister functions ***********************************/ |
983 | /* Callbacks Register/UnRegister functions ***********************************/ |
948 | HAL_StatusTypeDef HAL_SMARTCARD_RegisterCallback(SMARTCARD_HandleTypeDef *hsmartcard, |
984 | HAL_StatusTypeDef HAL_SMARTCARD_RegisterCallback(SMARTCARD_HandleTypeDef *hsmartcard, |
949 | HAL_SMARTCARD_CallbackIDTypeDef CallbackID, pSMARTCARD_CallbackTypeDef pCallback); |
985 | HAL_SMARTCARD_CallbackIDTypeDef CallbackID, |
- | 986 | pSMARTCARD_CallbackTypeDef pCallback); |
|
950 | HAL_StatusTypeDef HAL_SMARTCARD_UnRegisterCallback(SMARTCARD_HandleTypeDef *hsmartcard, |
987 | HAL_StatusTypeDef HAL_SMARTCARD_UnRegisterCallback(SMARTCARD_HandleTypeDef *hsmartcard, |
951 | HAL_SMARTCARD_CallbackIDTypeDef CallbackID); |
988 | HAL_SMARTCARD_CallbackIDTypeDef CallbackID); |
952 | #endif /* USE_HAL_SMARTCARD_REGISTER_CALLBACKS */ |
989 | #endif /* USE_HAL_SMARTCARD_REGISTER_CALLBACKS */ |
953 | 990 | ||
954 | /** |
991 | /** |