HAL SMARTCARD Types ¶
HAL SMARTCARD Types ¶
- group SMARTCARD_Exported_Types
-
Typedefs
-
typedef
struct
hal_smartcard_handle_s
hal_smartcard_handle_t
¶
-
HAL SMARTCARD handler type
-
typedef
void
(
*
hal_smartcard_cb_t
)
(
hal_smartcard_handle_t
*
hsmartcard
)
¶
-
HAL SMARTCARD Generic SMARTCARD callback Type
Enums
-
enum
hal_smartcard_t
¶
-
HAL SMARTCARD Instance Definition.
Values:
-
enumerator
HAL_SMARTCARD1
¶
-
Instance USART1
-
enumerator
HAL_SMARTCARD2
¶
-
Instance USART2
-
enumerator
HAL_SMARTCARD3
¶
-
Instance USART3
-
enumerator
HAL_SMARTCARD1
¶
-
enum
hal_smartcard_state_t
¶
-
HAL SMARTCARD State enum Definition.
Values:
-
enumerator
HAL_SMARTCARD_STATE_RESET
¶
-
Peripheral is not initialized
-
enumerator
HAL_SMARTCARD_STATE_INIT
¶
-
Peripheral is initialized but not configured
-
enumerator
HAL_SMARTCARD_STATE_IDLE
¶
-
Peripheral is initialized and a config is set
-
enumerator
HAL_SMARTCARD_STATE_RX_ACTIVE
¶
-
Peripheral is receiving
-
enumerator
HAL_SMARTCARD_STATE_TX_ACTIVE
¶
-
Peripheral is transmitting
-
enumerator
HAL_SMARTCARD_STATE_ABORT
¶
-
Peripheral is aborting the current process
-
enumerator
HAL_SMARTCARD_STATE_RESET
¶
-
enum
hal_smartcard_stop_bits_t
¶
-
HAL SMARTCARD Stop bits enum definition.
Values:
-
enumerator
HAL_SMARTCARD_STOP_BIT_0_5
¶
-
0.5 stop bit 0x00001000 0.5 stop bit 1.5 stop bits
-
enumerator
HAL_SMARTCARD_STOP_BIT_1_5
¶
-
1.5 stop bits
-
enumerator
HAL_SMARTCARD_STOP_BIT_0_5
¶
-
enum
hal_smartcard_io_invert_status_t
¶
-
HAL SMARTCARD inversion status definition.
Values:
-
enumerator
HAL_SMARTCARD_IO_INVERT_DISABLED
¶
-
Not Inverted Inverted
-
enumerator
HAL_SMARTCARD_IO_INVERT_ENABLED
¶
-
enumerator
HAL_SMARTCARD_IO_INVERT_DISABLED
¶
-
enum
hal_smartcard_data_invert_status_t
¶
-
HAL SMARTCARD data status definition.
Values:
-
enumerator
HAL_SMARTCARD_DATA_INVERT_DISABLED
¶
-
SMARTCARD Data Binary Inversion is disabled
-
enumerator
HAL_SMARTCARD_DATA_INVERT_ENABLED
¶
-
SMARTCARD Data Binary Inversion is enabled
-
enumerator
HAL_SMARTCARD_DATA_INVERT_DISABLED
¶
-
enum
hal_smartcard_tx_rx_swap_status_t
¶
-
HAL SMARTCARD Swap Tx/Rx Status Definition.
Values:
-
enumerator
HAL_SMARTCARD_TX_RX_SWAP_DISABLED
¶
-
SMARTCARD Tx Rx Swap Pins is disabled
-
enumerator
HAL_SMARTCARD_TX_RX_SWAP_ENABLED
¶
-
SMARTCARD Tx Rx Swap Pins is enabled
-
enumerator
HAL_SMARTCARD_TX_RX_SWAP_DISABLED
¶
-
enum
hal_smartcard_bit_order_t
¶
-
HAL SMARTCARD Bit order enum definition.
Values:
-
enumerator
HAL_SMARTCARD_BIT_ORDER_LSB_FIRST
¶
-
LSB First data is transmitted/received with data bit 0 first, following the start bit MSB First
-
enumerator
HAL_SMARTCARD_BIT_ORDER_MSB_FIRST
¶
-
0x00080000 Most Significant Bit First data is transmitted/received with the MSB first, following the start bit
-
enumerator
HAL_SMARTCARD_BIT_ORDER_LSB_FIRST
¶
-
enum
hal_smartcard_parity_t
¶
-
HAL SMARTCARD Parity enum definition.
Values:
-
enumerator
HAL_SMARTCARD_PARITY_ODD
¶
-
Parity control enabled and Even Parity is selected Parity control enabled and Odd Parity is selected Parity control enabled and Odd Parity is selected
-
enumerator
HAL_SMARTCARD_PARITY_EVEN
¶
-
0x00000400 Parity Control Enable Parity control enabled and Even Parity is selected
-
enumerator
HAL_SMARTCARD_PARITY_ODD
¶
-
enum
hal_smartcard_rx_overrun_detection_status_t
¶
-
HAL SMARTCARD Overrun enum definition.
Values:
-
enumerator
HAL_SMARTCARD_OVERRUN_DETECT_ENABLED
¶
-
Overrun Rx errors detection enabled Overrun Rx errors detection disabled
-
enumerator
HAL_SMARTCARD_OVERRUN_DETECT_DISABLED
¶
-
enumerator
HAL_SMARTCARD_OVERRUN_DETECT_ENABLED
¶
-
enum
hal_smartcard_dma_stop_status_t
¶
-
HAL SMARTCARD DMA stop on Rx error enum definition.
Values:
-
enumerator
HAL_SMARTCARD_DMA_STOP_NONE
¶
-
No impact on DMA DMA disable on rx error
-
enumerator
HAL_SMARTCARD_DMA_STOP_ON_RX_ERROR
¶
-
enumerator
HAL_SMARTCARD_DMA_STOP_NONE
¶
-
enum
hal_smartcard_nack_state_t
¶
-
HAL SMARTCARD NACK management enum definition.
Values:
-
enumerator
HAL_SMARTCARD_NACK_DISABLE
¶
-
NACK disabled NACK enabled
-
enumerator
HAL_SMARTCARD_NACK_ENABLE
¶
-
enumerator
HAL_SMARTCARD_NACK_DISABLE
¶
-
enum
hal_smartcard_prescaler_t
¶
-
HAL SMARTCARD Smartcard prescaler enum definition.
Values:
-
enumerator
HAL_SMARTCARD_CLOCK_PRESC_DIV1
¶
-
USART input CLK \1 Input clock not divided USART input CLK \2
-
enumerator
HAL_SMARTCARD_CLOCK_PRESC_DIV2
¶
-
Input clock divided by 2 USART input CLK \4
-
enumerator
HAL_SMARTCARD_CLOCK_PRESC_DIV4
¶
-
Input clock divided by 4 USART input CLK \6
-
enumerator
HAL_SMARTCARD_CLOCK_PRESC_DIV6
¶
-
Input clock divided by 6 USART input CLK \8
-
enumerator
HAL_SMARTCARD_CLOCK_PRESC_DIV8
¶
-
Input clock divided by 8 USART input CLK \10
-
enumerator
HAL_SMARTCARD_CLOCK_PRESC_DIV10
¶
-
Input clock divided by 10 USART input CLK \12
-
enumerator
HAL_SMARTCARD_CLOCK_PRESC_DIV12
¶
-
Input clock divided by 12 USART input CLK \16
-
enumerator
HAL_SMARTCARD_CLOCK_PRESC_DIV16
¶
-
Input clock divided by 16 USART input CLK \32
-
enumerator
HAL_SMARTCARD_CLOCK_PRESC_DIV32
¶
-
Input clock divided by 32 USART input CLK \64
-
enumerator
HAL_SMARTCARD_CLOCK_PRESC_DIV64
¶
-
Input clock divided by 64 USART input CLK \128
-
enumerator
HAL_SMARTCARD_CLOCK_PRESC_DIV128
¶
-
Input clock divided by 128 USART input CLK \256
-
enumerator
HAL_SMARTCARD_CLOCK_PRESC_DIV256
¶
-
Input clock divided by 256
-
enumerator
HAL_SMARTCARD_CLOCK_PRESC_DIV1
¶
-
enum
hal_smartcard_source_clock_prescaler_t
¶
-
HAL SMARTCARD Smartcard SCLK prescaler enum definition.
Values:
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV2
¶
-
SMARTCARD Output CLK /2 SMARTCARD Output CLK /2 SMARTCARD Output CLK /4
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV4
¶
-
SMARTCARD Output CLK /4 SMARTCARD Output CLK /6
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV6
¶
-
SMARTCARD Output CLK /6 SMARTCARD Output CLK /8
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV8
¶
-
SMARTCARD Output CLK /8 SMARTCARD Output CLK /10
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV10
¶
-
SMARTCARD Output CLK /10 SMARTCARD Output CLK /12
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV12
¶
-
SMARTCARD Output CLK /12 SMARTCARD Output CLK /14
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV14
¶
-
SMARTCARD Output CLK /14 SMARTCARD Output CLK /16
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV16
¶
-
SMARTCARD Output CLK /16 SMARTCARD Output CLK /18
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV18
¶
-
SMARTCARD Output CLK /18 SMARTCARD Output CLK /20
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV20
¶
-
SMARTCARD Output CLK /20 SMARTCARD Output CLK /22
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV22
¶
-
SMARTCARD Output CLK /22 SMARTCARD Output CLK /24
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV24
¶
-
SMARTCARD Output CLK /24 SMARTCARD Output CLK /26
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV26
¶
-
SMARTCARD Output CLK /26 SMARTCARD Output CLK /28
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV28
¶
-
SMARTCARD Output CLK /28 SMARTCARD Output CLK /30
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV30
¶
-
SMARTCARD Output CLK /30 SMARTCARD Output CLK /32
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV32
¶
-
SMARTCARD Output CLK /32 SMARTCARD Output CLK /34
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV34
¶
-
SMARTCARD Output CLK /34 SMARTCARD Output CLK /36
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV36
¶
-
SMARTCARD Output CLK /36 SMARTCARD Output CLK /38
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV38
¶
-
SMARTCARD Output CLK /38 SMARTCARD Output CLK /40
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV40
¶
-
SMARTCARD Output CLK /40 SMARTCARD Output CLK /42
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV42
¶
-
SMARTCARD Output CLK /42 SMARTCARD Output CLK /44
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV44
¶
-
SMARTCARD Output CLK /44 SMARTCARD Output CLK /46
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV46
¶
-
SMARTCARD Output CLK /46 SMARTCARD Output CLK /48
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV48
¶
-
SMARTCARD Output CLK /48 SMARTCARD Output CLK /50
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV50
¶
-
SMARTCARD Output CLK /50 SMARTCARD Output CLK /52
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV52
¶
-
SMARTCARD Output CLK /52 SMARTCARD Output CLK /54
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV54
¶
-
SMARTCARD Output CLK /54 SMARTCARD Output CLK /56
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV56
¶
-
SMARTCARD Output CLK /56 SMARTCARD Output CLK /58
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV58
¶
-
SMARTCARD Output CLK /58 SMARTCARD Output CLK /60
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV60
¶
-
SMARTCARD Output CLK /60 SMARTCARD Output CLK /62
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV62
¶
-
SMARTCARD Output CLK /62
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV2
¶
-
enum
hal_smartcard_clock_output_t
¶
-
HAL SMARTCARD Clock Output enum definition.
Values:
-
enumerator
HAL_SMARTCARD_CLOCK_OUTPUT_DISABLE
¶
-
Clock signal output on CK pin disabled The clock signal output is disabled Clock signal output on CK pin enabled
-
enumerator
HAL_SMARTCARD_CLOCK_OUTPUT_ENABLE
¶
-
0x00000800 Clock Enable The clock signal output is enabled
-
enumerator
HAL_SMARTCARD_CLOCK_OUTPUT_DISABLE
¶
-
enum
hal_smartcard_clock_polarity_t
¶
-
HAL SMARTCARD Clock polarity enum definition.
Values:
-
enumerator
HAL_SMARTCARD_CLOCK_POLARITY_LOW
¶
-
Polarity Low Steady low value on SCLK pin outside transmission window Polarity High
-
enumerator
HAL_SMARTCARD_CLOCK_POLARITY_HIGH
¶
-
0x00000400 Clock Polarity Steady high value on SCLK pin outside transmission window
-
enumerator
HAL_SMARTCARD_CLOCK_POLARITY_LOW
¶
-
enum
hal_smartcard_clock_phase_t
¶
-
HAL SMARTCARD Clock phase enum definition.
Values:
-
enumerator
HAL_SMARTCARD_CLOCK_PHASE_1_EDGE
¶
-
The first clock transition is the first data capture edge The first clock transition is the first data capture edge The second clock transition is the first data capture edge
-
enumerator
HAL_SMARTCARD_CLOCK_PHASE_2_EDGE
¶
-
0x00000200 Clock Phase The second clock transition is the first data capture edge
-
enumerator
HAL_SMARTCARD_CLOCK_PHASE_1_EDGE
¶
-
enum
hal_smartcard_timeout_status_t
¶
-
HAL SMARTCARD Timeout status definition.
Values:
-
enumerator
HAL_SMARTCARD_TIMEOUT_DISABLED
¶
-
Timeout disabled Timeout enabled
-
enumerator
HAL_SMARTCARD_TIMEOUT_ENABLED
¶
-
enumerator
HAL_SMARTCARD_TIMEOUT_DISABLED
¶
-
enum
hal_smartcard_tx_cplt_guard_time_indication_t
¶
-
HAL SMARTCARD Pre guard time Tx complete indication enum definition.
Values:
-
enumerator
HAL_SMARTCARD_TX_CPLT_AFTER_GUARD_TIME
¶
-
SMARTCARD transmission complete (flag raised when guard time has elapsed) SMARTCARD transmission complete before guard time
-
enumerator
HAL_SMARTCARD_TX_CPLT_BEFORE_GUARD_TIME
¶
-
enumerator
HAL_SMARTCARD_TX_CPLT_AFTER_GUARD_TIME
¶
-
enum
hal_smartcard_end_of_block_interrupt_status_t
¶
-
HAL SMARTCARD End of block interrupt status definition.
Values:
-
enumerator
HAL_SMARTCARD_EOB_IT_DISABLED
¶
-
End of block interrupt disabled End of block interrupt enabled
-
enumerator
HAL_SMARTCARD_EOB_IT_ENABLED
¶
-
enumerator
HAL_SMARTCARD_EOB_IT_DISABLED
¶
-
enum
hal_smartcard_fifo_mode_status_t
¶
-
HAL SMARTCARD Fifo status definition.
Values:
-
enumerator
HAL_SMARTCARD_FIFO_MODE_DISABLED
¶
-
Fifo disabled Fifo enabled
-
enumerator
HAL_SMARTCARD_FIFO_MODE_ENABLED
¶
-
enumerator
HAL_SMARTCARD_FIFO_MODE_DISABLED
¶
-
enum
hal_smartcard_fifo_threshold_t
¶
-
HAL SMARTCARD Fifo threshold enum definition.
Values:
-
enumerator
HAL_SMARTCARD_FIFO_THRESHOLD_1_8
¶
-
FIFO reaches 1/8 of its depth FIFO reaches 1/8 of its depth FIFO reaches 1/4 of its depth
-
enumerator
HAL_SMARTCARD_FIFO_THRESHOLD_1_4
¶
-
FIFO reaches 1/4 of its depth FIFO reaches 1/2 of its depth
-
enumerator
HAL_SMARTCARD_FIFO_THRESHOLD_1_2
¶
-
FIFO reaches 1/2 of its depth FIFO reaches 3/4 of its depth
-
enumerator
HAL_SMARTCARD_FIFO_THRESHOLD_3_4
¶
-
FIFO reaches 3/4 of its depth FIFO reaches 7/8 of its depth
-
enumerator
HAL_SMARTCARD_FIFO_THRESHOLD_7_8
¶
-
FIFO reaches 7/8 of its depth FIFO reaches 8/8 of its depth
-
enumerator
HAL_SMARTCARD_FIFO_THRESHOLD_8_8
¶
-
FIFO becomes empty for TX and full for RX
-
enumerator
HAL_SMARTCARD_FIFO_THRESHOLD_1_8
¶
-
struct
hal_smartcard_handle_s
¶
-
#include <stm32c5xx_hal_smartcard.h>
HAL SMARTCARD handle structure type.
Public Members
-
hal_smartcard_t
instance
¶
-
Peripheral instance
-
volatile
hal_smartcard_state_t
global_state
¶
-
SMARTCARD state information related to global handle management
-
const
uint8_t
*
p_tx_buff
¶
-
Pointer to SMARTCARD Tx transfer buffer
-
volatile
uint32_t
tx_xfer_size
¶
-
SMARTCARD Tx Transfer size
-
volatile
uint32_t
tx_xfer_count
¶
-
SMARTCARD Tx Transfer Counter
-
uint8_t
*
p_rx_buff
¶
-
Pointer to SMARTCARD Rx transfer buffer
-
volatile
uint32_t
rx_xfer_size
¶
-
SMARTCARD Rx Transfer size
-
volatile
uint32_t
rx_xfer_count
¶
-
SMARTCARD Rx Transfer Counter
-
hal_smartcard_fifo_mode_status_t
fifo_status
¶
-
Specifies whether the FIFO mode is used
-
uint16_t
nb_rx_data_to_process
¶
-
Number of data to process during RX ISR execution
-
uint16_t
nb_tx_data_to_process
¶
-
Number of data to process during TX ISR execution
-
hal_smartcard_tx_cplt_guard_time_indication_t
tx_cplt_indication
¶
-
Tx complete indication configuration: before guard time or after
-
void
(
*
p_rx_isr
)
(
struct
hal_smartcard_handle_s
*
hsmartcard
)
¶
-
Function pointer to Rx IRQ handler
-
void
(
*
p_tx_isr
)
(
struct
hal_smartcard_handle_s
*
hsmartcard
)
¶
-
Function pointer to Tx IRQ handler
-
hal_dma_handle_t
*
hdma_tx
¶
-
SMARTCARD Tx DMA handle parameters
-
hal_dma_handle_t
*
hdma_rx
¶
-
SMARTCARD Rx DMA handle parameters
-
hal_smartcard_cb_t
p_tx_cplt_callback
¶
-
SMARTCARD Tx complete callback
-
hal_smartcard_cb_t
p_tx_half_cplt_callback
¶
-
SMARTCARD Tx Half complete callback
-
hal_smartcard_cb_t
p_rx_cplt_callback
¶
-
SMARTCARD Rx complete callback
-
hal_smartcard_cb_t
p_rx_half_cplt_callback
¶
-
SMARTCARD Rx Half complete callback
-
hal_smartcard_cb_t
p_error_callback
¶
-
SMARTCARD Error callback
-
hal_smartcard_cb_t
p_abort_cplt_callback
¶
-
SMARTCARD Abort complete callback
-
hal_smartcard_cb_t
p_rx_fifo_full_callback
¶
-
SMARTCARD Rx FIFO full callback
-
hal_smartcard_cb_t
p_tx_fifo_empty_callback
¶
-
SMARTCARD Tx FIFO empty callback
-
hal_os_semaphore_t
semaphore
¶
-
USART OS semaphore
-
const
void
*
p_user_data
¶
-
User data pointer
-
volatile
uint32_t
last_error_codes
¶
-
Last error codes
-
hal_smartcard_t
instance
¶
-
struct
hal_smartcard_config_t
¶
-
#include <stm32c5xx_hal_smartcard.h>
HAL SMARTCARD Global configuration structure definition.
Public Members
-
uint32_t
baud_rate
¶
-
Configures the SMARTCARD communication baud rate. The baud rate register is computed using the following formula: baud rate register = usart_ker_ckpres / baud_rate where usart_ker_ckpres is the USART input clock divided by a prescaler.
-
hal_smartcard_stop_bits_t
stop_bits
¶
-
Specifies the number of stop bits.
-
hal_smartcard_bit_order_t
first_bit
¶
-
Specifies whether MSB is sent first on the USART line.
-
hal_smartcard_parity_t
parity
¶
-
Specifies the parity mode. The parity is enabled by default (PCE is forced to 1). Since the WordLength is forced to 8 bits + parity, M is forced to 1 and the parity bit is the 9th bit.
-
hal_smartcard_nack_state_t
nack
¶
-
Specifies whether the SMARTCARD NACK transmission is enabled in case of parity error.
-
hal_smartcard_prescaler_t
clock_prescaler
¶
-
Specifies the prescaler value used to divide the USART input clock to provide USART clock source.
-
hal_smartcard_source_clock_prescaler_t
sclk_prescaler
¶
-
Specifies the SMARTCARD prescaler used to divide the USART clock, the clock sent to the smartcard is the output clock after the division.
-
hal_smartcard_clock_output_t
clock_output
¶
-
Specifies whether the CLK signal is output or not.
-
hal_smartcard_clock_polarity_t
clock_polarity
¶
-
Specifies the steady state of the serial clock.
-
hal_smartcard_clock_phase_t
clock_phase
¶
-
Specifies the clock transition on which the bit capture is made.
-
uint32_t
guard_time_etu
¶
-
Specifies the SMARTCARD guard time ETU (Elementary Time Unit) applied after stop bits.
-
uint32_t
auto_retry_count
¶
-
Specifies the SMARTCARD auto-retry count (number of retries in receive and transmit mode). When set to 0, retransmission is disabled. Otherwise, its maximum value is 7 (before signalling an error).
-
uint32_t
baud_rate
¶
-
typedef
struct
hal_smartcard_handle_s
hal_smartcard_handle_t
¶
- group SMARTCARD_Exported_Types
-
Typedefs
-
typedef
struct
hal_smartcard_handle_s
hal_smartcard_handle_t
-
HAL SMARTCARD handler type
-
typedef
void
(
*
hal_smartcard_cb_t
)
(
hal_smartcard_handle_t
*
hsmartcard
)
-
HAL SMARTCARD Generic SMARTCARD callback Type
Enums
-
enum
hal_smartcard_t
-
HAL SMARTCARD Instance Definition.
Values:
-
enumerator
HAL_SMARTCARD1
-
Instance USART1
-
enumerator
HAL_SMARTCARD2
-
Instance USART2
-
enumerator
HAL_SMARTCARD3
-
Instance USART3
-
enumerator
HAL_SMARTCARD6
¶
-
Instance USART6
-
enumerator
HAL_SMARTCARD1
-
enum
hal_smartcard_state_t
-
HAL SMARTCARD State enum Definition.
Values:
-
enumerator
HAL_SMARTCARD_STATE_RESET
-
Peripheral is not initialized
-
enumerator
HAL_SMARTCARD_STATE_INIT
-
Peripheral is initialized but not configured
-
enumerator
HAL_SMARTCARD_STATE_IDLE
-
Peripheral is initialized and a config is set
-
enumerator
HAL_SMARTCARD_STATE_RX_ACTIVE
-
Peripheral is receiving
-
enumerator
HAL_SMARTCARD_STATE_TX_ACTIVE
-
Peripheral is transmitting
-
enumerator
HAL_SMARTCARD_STATE_ABORT
-
Peripheral is aborting the current process
-
enumerator
HAL_SMARTCARD_STATE_RESET
-
enum
hal_smartcard_stop_bits_t
-
HAL SMARTCARD Stop bits enum definition.
Values:
-
enumerator
HAL_SMARTCARD_STOP_BIT_0_5
-
0.5 stop bit 0x00001000 0.5 stop bit 1.5 stop bits
-
enumerator
HAL_SMARTCARD_STOP_BIT_1_5
-
1.5 stop bits
-
enumerator
HAL_SMARTCARD_STOP_BIT_0_5
-
enum
hal_smartcard_io_invert_status_t
-
HAL SMARTCARD inversion status definition.
Values:
-
enumerator
HAL_SMARTCARD_IO_INVERT_DISABLED
-
Not Inverted Inverted
-
enumerator
HAL_SMARTCARD_IO_INVERT_ENABLED
-
enumerator
HAL_SMARTCARD_IO_INVERT_DISABLED
-
enum
hal_smartcard_data_invert_status_t
-
HAL SMARTCARD data status definition.
Values:
-
enumerator
HAL_SMARTCARD_DATA_INVERT_DISABLED
-
SMARTCARD Data Binary Inversion is disabled
-
enumerator
HAL_SMARTCARD_DATA_INVERT_ENABLED
-
SMARTCARD Data Binary Inversion is enabled
-
enumerator
HAL_SMARTCARD_DATA_INVERT_DISABLED
-
enum
hal_smartcard_tx_rx_swap_status_t
-
HAL SMARTCARD Swap Tx/Rx Status Definition.
Values:
-
enumerator
HAL_SMARTCARD_TX_RX_SWAP_DISABLED
-
SMARTCARD Tx Rx Swap Pins is disabled
-
enumerator
HAL_SMARTCARD_TX_RX_SWAP_ENABLED
-
SMARTCARD Tx Rx Swap Pins is enabled
-
enumerator
HAL_SMARTCARD_TX_RX_SWAP_DISABLED
-
enum
hal_smartcard_bit_order_t
-
HAL SMARTCARD Bit order enum definition.
Values:
-
enumerator
HAL_SMARTCARD_BIT_ORDER_LSB_FIRST
-
LSB First data is transmitted/received with data bit 0 first, following the start bit MSB First
-
enumerator
HAL_SMARTCARD_BIT_ORDER_MSB_FIRST
-
0x00080000 Most Significant Bit First data is transmitted/received with the MSB first, following the start bit
-
enumerator
HAL_SMARTCARD_BIT_ORDER_LSB_FIRST
-
enum
hal_smartcard_parity_t
-
HAL SMARTCARD Parity enum definition.
Values:
-
enumerator
HAL_SMARTCARD_PARITY_ODD
-
Parity control enabled and Even Parity is selected Parity control enabled and Odd Parity is selected Parity control enabled and Odd Parity is selected
-
enumerator
HAL_SMARTCARD_PARITY_EVEN
-
0x00000400 Parity Control Enable Parity control enabled and Even Parity is selected
-
enumerator
HAL_SMARTCARD_PARITY_ODD
-
enum
hal_smartcard_rx_overrun_detection_status_t
-
HAL SMARTCARD Overrun enum definition.
Values:
-
enumerator
HAL_SMARTCARD_OVERRUN_DETECT_ENABLED
-
Overrun Rx errors detection enabled Overrun Rx errors detection disabled
-
enumerator
HAL_SMARTCARD_OVERRUN_DETECT_DISABLED
-
enumerator
HAL_SMARTCARD_OVERRUN_DETECT_ENABLED
-
enum
hal_smartcard_dma_stop_status_t
-
HAL SMARTCARD DMA stop on Rx error enum definition.
Values:
-
enumerator
HAL_SMARTCARD_DMA_STOP_NONE
-
No impact on DMA DMA disable on rx error
-
enumerator
HAL_SMARTCARD_DMA_STOP_ON_RX_ERROR
-
enumerator
HAL_SMARTCARD_DMA_STOP_NONE
-
enum
hal_smartcard_nack_state_t
-
HAL SMARTCARD NACK management enum definition.
Values:
-
enumerator
HAL_SMARTCARD_NACK_DISABLE
-
NACK disabled NACK enabled
-
enumerator
HAL_SMARTCARD_NACK_ENABLE
-
enumerator
HAL_SMARTCARD_NACK_DISABLE
-
enum
hal_smartcard_prescaler_t
-
HAL SMARTCARD Smartcard prescaler enum definition.
Values:
-
enumerator
HAL_SMARTCARD_CLOCK_PRESC_DIV1
-
USART input CLK \1 Input clock not divided USART input CLK \2
-
enumerator
HAL_SMARTCARD_CLOCK_PRESC_DIV2
-
Input clock divided by 2 USART input CLK \4
-
enumerator
HAL_SMARTCARD_CLOCK_PRESC_DIV4
-
Input clock divided by 4 USART input CLK \6
-
enumerator
HAL_SMARTCARD_CLOCK_PRESC_DIV6
-
Input clock divided by 6 USART input CLK \8
-
enumerator
HAL_SMARTCARD_CLOCK_PRESC_DIV8
-
Input clock divided by 8 USART input CLK \10
-
enumerator
HAL_SMARTCARD_CLOCK_PRESC_DIV10
-
Input clock divided by 10 USART input CLK \12
-
enumerator
HAL_SMARTCARD_CLOCK_PRESC_DIV12
-
Input clock divided by 12 USART input CLK \16
-
enumerator
HAL_SMARTCARD_CLOCK_PRESC_DIV16
-
Input clock divided by 16 USART input CLK \32
-
enumerator
HAL_SMARTCARD_CLOCK_PRESC_DIV32
-
Input clock divided by 32 USART input CLK \64
-
enumerator
HAL_SMARTCARD_CLOCK_PRESC_DIV64
-
Input clock divided by 64 USART input CLK \128
-
enumerator
HAL_SMARTCARD_CLOCK_PRESC_DIV128
-
Input clock divided by 128 USART input CLK \256
-
enumerator
HAL_SMARTCARD_CLOCK_PRESC_DIV256
-
Input clock divided by 256
-
enumerator
HAL_SMARTCARD_CLOCK_PRESC_DIV1
-
enum
hal_smartcard_source_clock_prescaler_t
-
HAL SMARTCARD Smartcard SCLK prescaler enum definition.
Values:
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV2
-
SMARTCARD Output CLK /2 SMARTCARD Output CLK /2 SMARTCARD Output CLK /4
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV4
-
SMARTCARD Output CLK /4 SMARTCARD Output CLK /6
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV6
-
SMARTCARD Output CLK /6 SMARTCARD Output CLK /8
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV8
-
SMARTCARD Output CLK /8 SMARTCARD Output CLK /10
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV10
-
SMARTCARD Output CLK /10 SMARTCARD Output CLK /12
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV12
-
SMARTCARD Output CLK /12 SMARTCARD Output CLK /14
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV14
-
SMARTCARD Output CLK /14 SMARTCARD Output CLK /16
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV16
-
SMARTCARD Output CLK /16 SMARTCARD Output CLK /18
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV18
-
SMARTCARD Output CLK /18 SMARTCARD Output CLK /20
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV20
-
SMARTCARD Output CLK /20 SMARTCARD Output CLK /22
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV22
-
SMARTCARD Output CLK /22 SMARTCARD Output CLK /24
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV24
-
SMARTCARD Output CLK /24 SMARTCARD Output CLK /26
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV26
-
SMARTCARD Output CLK /26 SMARTCARD Output CLK /28
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV28
-
SMARTCARD Output CLK /28 SMARTCARD Output CLK /30
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV30
-
SMARTCARD Output CLK /30 SMARTCARD Output CLK /32
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV32
-
SMARTCARD Output CLK /32 SMARTCARD Output CLK /34
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV34
-
SMARTCARD Output CLK /34 SMARTCARD Output CLK /36
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV36
-
SMARTCARD Output CLK /36 SMARTCARD Output CLK /38
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV38
-
SMARTCARD Output CLK /38 SMARTCARD Output CLK /40
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV40
-
SMARTCARD Output CLK /40 SMARTCARD Output CLK /42
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV42
-
SMARTCARD Output CLK /42 SMARTCARD Output CLK /44
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV44
-
SMARTCARD Output CLK /44 SMARTCARD Output CLK /46
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV46
-
SMARTCARD Output CLK /46 SMARTCARD Output CLK /48
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV48
-
SMARTCARD Output CLK /48 SMARTCARD Output CLK /50
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV50
-
SMARTCARD Output CLK /50 SMARTCARD Output CLK /52
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV52
-
SMARTCARD Output CLK /52 SMARTCARD Output CLK /54
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV54
-
SMARTCARD Output CLK /54 SMARTCARD Output CLK /56
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV56
-
SMARTCARD Output CLK /56 SMARTCARD Output CLK /58
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV58
-
SMARTCARD Output CLK /58 SMARTCARD Output CLK /60
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV60
-
SMARTCARD Output CLK /60 SMARTCARD Output CLK /62
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV62
-
SMARTCARD Output CLK /62
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV2
-
enum
hal_smartcard_clock_output_t
-
HAL SMARTCARD Clock Output enum definition.
Values:
-
enumerator
HAL_SMARTCARD_CLOCK_OUTPUT_DISABLE
-
Clock signal output on CK pin disabled The clock signal output is disabled Clock signal output on CK pin enabled
-
enumerator
HAL_SMARTCARD_CLOCK_OUTPUT_ENABLE
-
0x00000800 Clock Enable The clock signal output is enabled
-
enumerator
HAL_SMARTCARD_CLOCK_OUTPUT_DISABLE
-
enum
hal_smartcard_clock_polarity_t
-
HAL SMARTCARD Clock polarity enum definition.
Values:
-
enumerator
HAL_SMARTCARD_CLOCK_POLARITY_LOW
-
Polarity Low Steady low value on SCLK pin outside transmission window Polarity High
-
enumerator
HAL_SMARTCARD_CLOCK_POLARITY_HIGH
-
0x00000400 Clock Polarity Steady high value on SCLK pin outside transmission window
-
enumerator
HAL_SMARTCARD_CLOCK_POLARITY_LOW
-
enum
hal_smartcard_clock_phase_t
-
HAL SMARTCARD Clock phase enum definition.
Values:
-
enumerator
HAL_SMARTCARD_CLOCK_PHASE_1_EDGE
-
The first clock transition is the first data capture edge The first clock transition is the first data capture edge The second clock transition is the first data capture edge
-
enumerator
HAL_SMARTCARD_CLOCK_PHASE_2_EDGE
-
0x00000200 Clock Phase The second clock transition is the first data capture edge
-
enumerator
HAL_SMARTCARD_CLOCK_PHASE_1_EDGE
-
enum
hal_smartcard_timeout_status_t
-
HAL SMARTCARD Timeout status definition.
Values:
-
enumerator
HAL_SMARTCARD_TIMEOUT_DISABLED
-
Timeout disabled Timeout enabled
-
enumerator
HAL_SMARTCARD_TIMEOUT_ENABLED
-
enumerator
HAL_SMARTCARD_TIMEOUT_DISABLED
-
enum
hal_smartcard_tx_cplt_guard_time_indication_t
-
HAL SMARTCARD Pre guard time Tx complete indication enum definition.
Values:
-
enumerator
HAL_SMARTCARD_TX_CPLT_AFTER_GUARD_TIME
-
SMARTCARD transmission complete (flag raised when guard time has elapsed) SMARTCARD transmission complete before guard time
-
enumerator
HAL_SMARTCARD_TX_CPLT_BEFORE_GUARD_TIME
-
enumerator
HAL_SMARTCARD_TX_CPLT_AFTER_GUARD_TIME
-
enum
hal_smartcard_end_of_block_interrupt_status_t
-
HAL SMARTCARD End of block interrupt status definition.
Values:
-
enumerator
HAL_SMARTCARD_EOB_IT_DISABLED
-
End of block interrupt disabled End of block interrupt enabled
-
enumerator
HAL_SMARTCARD_EOB_IT_ENABLED
-
enumerator
HAL_SMARTCARD_EOB_IT_DISABLED
-
enum
hal_smartcard_fifo_mode_status_t
-
HAL SMARTCARD Fifo status definition.
Values:
-
enumerator
HAL_SMARTCARD_FIFO_MODE_DISABLED
-
Fifo disabled Fifo enabled
-
enumerator
HAL_SMARTCARD_FIFO_MODE_ENABLED
-
enumerator
HAL_SMARTCARD_FIFO_MODE_DISABLED
-
enum
hal_smartcard_fifo_threshold_t
-
HAL SMARTCARD Fifo threshold enum definition.
Values:
-
enumerator
HAL_SMARTCARD_FIFO_THRESHOLD_1_8
-
FIFO reaches 1/8 of its depth FIFO reaches 1/8 of its depth FIFO reaches 1/4 of its depth
-
enumerator
HAL_SMARTCARD_FIFO_THRESHOLD_1_4
-
FIFO reaches 1/4 of its depth FIFO reaches 1/2 of its depth
-
enumerator
HAL_SMARTCARD_FIFO_THRESHOLD_1_2
-
FIFO reaches 1/2 of its depth FIFO reaches 3/4 of its depth
-
enumerator
HAL_SMARTCARD_FIFO_THRESHOLD_3_4
-
FIFO reaches 3/4 of its depth FIFO reaches 7/8 of its depth
-
enumerator
HAL_SMARTCARD_FIFO_THRESHOLD_7_8
-
FIFO reaches 7/8 of its depth FIFO reaches 8/8 of its depth
-
enumerator
HAL_SMARTCARD_FIFO_THRESHOLD_8_8
-
FIFO becomes empty for TX and full for RX
-
enumerator
HAL_SMARTCARD_FIFO_THRESHOLD_1_8
-
struct
hal_smartcard_handle_s
-
#include <stm32c5xx_hal_smartcard.h>
HAL SMARTCARD handle structure type.
Public Members
-
hal_smartcard_t
instance
-
Peripheral instance
-
volatile
hal_smartcard_state_t
global_state
-
SMARTCARD state information related to global handle management
-
const
uint8_t
*
p_tx_buff
-
Pointer to SMARTCARD Tx transfer buffer
-
volatile
uint32_t
tx_xfer_size
-
SMARTCARD Tx Transfer size
-
volatile
uint32_t
tx_xfer_count
-
SMARTCARD Tx Transfer Counter
-
uint8_t
*
p_rx_buff
-
Pointer to SMARTCARD Rx transfer buffer
-
volatile
uint32_t
rx_xfer_size
-
SMARTCARD Rx Transfer size
-
volatile
uint32_t
rx_xfer_count
-
SMARTCARD Rx Transfer Counter
-
hal_smartcard_fifo_mode_status_t
fifo_status
-
Specifies whether the FIFO mode is used
-
uint16_t
nb_rx_data_to_process
-
Number of data to process during RX ISR execution
-
uint16_t
nb_tx_data_to_process
-
Number of data to process during TX ISR execution
-
hal_smartcard_tx_cplt_guard_time_indication_t
tx_cplt_indication
-
Tx complete indication configuration: before guard time or after
-
void
(
*
p_rx_isr
)
(
struct
hal_smartcard_handle_s
*
hsmartcard
)
-
Function pointer to Rx IRQ handler
-
void
(
*
p_tx_isr
)
(
struct
hal_smartcard_handle_s
*
hsmartcard
)
-
Function pointer to Tx IRQ handler
-
hal_dma_handle_t
*
hdma_tx
-
SMARTCARD Tx DMA handle parameters
-
hal_dma_handle_t
*
hdma_rx
-
SMARTCARD Rx DMA handle parameters
-
hal_smartcard_cb_t
p_tx_cplt_callback
-
SMARTCARD Tx complete callback
-
hal_smartcard_cb_t
p_tx_half_cplt_callback
-
SMARTCARD Tx Half complete callback
-
hal_smartcard_cb_t
p_rx_cplt_callback
-
SMARTCARD Rx complete callback
-
hal_smartcard_cb_t
p_rx_half_cplt_callback
-
SMARTCARD Rx Half complete callback
-
hal_smartcard_cb_t
p_error_callback
-
SMARTCARD Error callback
-
hal_smartcard_cb_t
p_abort_cplt_callback
-
SMARTCARD Abort complete callback
-
hal_smartcard_cb_t
p_rx_fifo_full_callback
-
SMARTCARD Rx FIFO full callback
-
hal_smartcard_cb_t
p_tx_fifo_empty_callback
-
SMARTCARD Tx FIFO empty callback
-
hal_os_semaphore_t
semaphore
-
USART OS semaphore
-
const
void
*
p_user_data
-
User data pointer
-
volatile
uint32_t
last_error_codes
-
Last error codes
-
hal_smartcard_t
instance
-
struct
hal_smartcard_config_t
-
#include <stm32c5xx_hal_smartcard.h>
HAL SMARTCARD Global configuration structure definition.
Public Members
-
uint32_t
baud_rate
-
Configures the SMARTCARD communication baud rate. The baud rate register is computed using the following formula: baud rate register = usart_ker_ckpres / baud_rate where usart_ker_ckpres is the USART input clock divided by a prescaler.
-
hal_smartcard_stop_bits_t
stop_bits
-
Specifies the number of stop bits.
-
hal_smartcard_bit_order_t
first_bit
-
Specifies whether MSB is sent first on the USART line.
-
hal_smartcard_parity_t
parity
-
Specifies the parity mode. The parity is enabled by default (PCE is forced to 1). Since the WordLength is forced to 8 bits + parity, M is forced to 1 and the parity bit is the 9th bit.
-
hal_smartcard_nack_state_t
nack
-
Specifies whether the SMARTCARD NACK transmission is enabled in case of parity error.
-
hal_smartcard_prescaler_t
clock_prescaler
-
Specifies the prescaler value used to divide the USART input clock to provide USART clock source.
-
hal_smartcard_source_clock_prescaler_t
sclk_prescaler
-
Specifies the SMARTCARD prescaler used to divide the USART clock, the clock sent to the smartcard is the output clock after the division.
-
hal_smartcard_clock_output_t
clock_output
-
Specifies whether the CLK signal is output or not.
-
hal_smartcard_clock_polarity_t
clock_polarity
-
Specifies the steady state of the serial clock.
-
hal_smartcard_clock_phase_t
clock_phase
-
Specifies the clock transition on which the bit capture is made.
-
uint32_t
guard_time_etu
-
Specifies the SMARTCARD guard time ETU (Elementary Time Unit) applied after stop bits.
-
uint32_t
auto_retry_count
-
Specifies the SMARTCARD auto-retry count (number of retries in receive and transmit mode). When set to 0, retransmission is disabled. Otherwise, its maximum value is 7 (before signalling an error).
-
uint32_t
baud_rate
-
typedef
struct
hal_smartcard_handle_s
hal_smartcard_handle_t
- group SMARTCARD_Exported_Types
-
Typedefs
-
typedef
struct
hal_smartcard_handle_s
hal_smartcard_handle_t
-
HAL SMARTCARD handler type
-
typedef
void
(
*
hal_smartcard_cb_t
)
(
hal_smartcard_handle_t
*
hsmartcard
)
-
HAL SMARTCARD Generic SMARTCARD callback Type
Enums
-
enum
hal_smartcard_t
-
HAL SMARTCARD Instance Definition.
Values:
-
enumerator
HAL_SMARTCARD1
-
Instance USART1
-
enumerator
HAL_SMARTCARD2
-
Instance USART2
-
enumerator
HAL_SMARTCARD1
-
enum
hal_smartcard_state_t
-
HAL SMARTCARD State enum Definition.
Values:
-
enumerator
HAL_SMARTCARD_STATE_RESET
-
Peripheral is not initialized
-
enumerator
HAL_SMARTCARD_STATE_INIT
-
Peripheral is initialized but not configured
-
enumerator
HAL_SMARTCARD_STATE_IDLE
-
Peripheral is initialized and a config is set
-
enumerator
HAL_SMARTCARD_STATE_RX_ACTIVE
-
Peripheral is receiving
-
enumerator
HAL_SMARTCARD_STATE_TX_ACTIVE
-
Peripheral is transmitting
-
enumerator
HAL_SMARTCARD_STATE_ABORT
-
Peripheral is aborting the current process
-
enumerator
HAL_SMARTCARD_STATE_RESET
-
enum
hal_smartcard_stop_bits_t
-
HAL SMARTCARD Stop bits enum definition.
Values:
-
enumerator
HAL_SMARTCARD_STOP_BIT_0_5
-
0.5 stop bit 0x00001000 0.5 stop bit 1.5 stop bits
-
enumerator
HAL_SMARTCARD_STOP_BIT_1_5
-
1.5 stop bits
-
enumerator
HAL_SMARTCARD_STOP_BIT_0_5
-
enum
hal_smartcard_io_invert_status_t
-
HAL SMARTCARD inversion status definition.
Values:
-
enumerator
HAL_SMARTCARD_IO_INVERT_DISABLED
-
Not Inverted Inverted
-
enumerator
HAL_SMARTCARD_IO_INVERT_ENABLED
-
enumerator
HAL_SMARTCARD_IO_INVERT_DISABLED
-
enum
hal_smartcard_data_invert_status_t
-
HAL SMARTCARD data status definition.
Values:
-
enumerator
HAL_SMARTCARD_DATA_INVERT_DISABLED
-
SMARTCARD Data Binary Inversion is disabled
-
enumerator
HAL_SMARTCARD_DATA_INVERT_ENABLED
-
SMARTCARD Data Binary Inversion is enabled
-
enumerator
HAL_SMARTCARD_DATA_INVERT_DISABLED
-
enum
hal_smartcard_tx_rx_swap_status_t
-
HAL SMARTCARD Swap Tx/Rx Status Definition.
Values:
-
enumerator
HAL_SMARTCARD_TX_RX_SWAP_DISABLED
-
SMARTCARD Tx Rx Swap Pins is disabled
-
enumerator
HAL_SMARTCARD_TX_RX_SWAP_ENABLED
-
SMARTCARD Tx Rx Swap Pins is enabled
-
enumerator
HAL_SMARTCARD_TX_RX_SWAP_DISABLED
-
enum
hal_smartcard_bit_order_t
-
HAL SMARTCARD Bit order enum definition.
Values:
-
enumerator
HAL_SMARTCARD_BIT_ORDER_LSB_FIRST
-
LSB First data is transmitted/received with data bit 0 first, following the start bit MSB First
-
enumerator
HAL_SMARTCARD_BIT_ORDER_MSB_FIRST
-
0x00080000 Most Significant Bit First data is transmitted/received with the MSB first, following the start bit
-
enumerator
HAL_SMARTCARD_BIT_ORDER_LSB_FIRST
-
enum
hal_smartcard_parity_t
-
HAL SMARTCARD Parity enum definition.
Values:
-
enumerator
HAL_SMARTCARD_PARITY_ODD
-
Parity control enabled and Even Parity is selected Parity control enabled and Odd Parity is selected Parity control enabled and Odd Parity is selected
-
enumerator
HAL_SMARTCARD_PARITY_EVEN
-
0x00000400 Parity Control Enable Parity control enabled and Even Parity is selected
-
enumerator
HAL_SMARTCARD_PARITY_ODD
-
enum
hal_smartcard_rx_overrun_detection_status_t
-
HAL SMARTCARD Overrun enum definition.
Values:
-
enumerator
HAL_SMARTCARD_OVERRUN_DETECT_ENABLED
-
Overrun Rx errors detection enabled Overrun Rx errors detection disabled
-
enumerator
HAL_SMARTCARD_OVERRUN_DETECT_DISABLED
-
enumerator
HAL_SMARTCARD_OVERRUN_DETECT_ENABLED
-
enum
hal_smartcard_dma_stop_status_t
-
HAL SMARTCARD DMA stop on Rx error enum definition.
Values:
-
enumerator
HAL_SMARTCARD_DMA_STOP_NONE
-
No impact on DMA DMA disable on rx error
-
enumerator
HAL_SMARTCARD_DMA_STOP_ON_RX_ERROR
-
enumerator
HAL_SMARTCARD_DMA_STOP_NONE
-
enum
hal_smartcard_nack_state_t
-
HAL SMARTCARD NACK management enum definition.
Values:
-
enumerator
HAL_SMARTCARD_NACK_DISABLE
-
NACK disabled NACK enabled
-
enumerator
HAL_SMARTCARD_NACK_ENABLE
-
enumerator
HAL_SMARTCARD_NACK_DISABLE
-
enum
hal_smartcard_prescaler_t
-
HAL SMARTCARD Smartcard prescaler enum definition.
Values:
-
enumerator
HAL_SMARTCARD_CLOCK_PRESC_DIV1
-
USART input CLK \1 Input clock not divided USART input CLK \2
-
enumerator
HAL_SMARTCARD_CLOCK_PRESC_DIV2
-
Input clock divided by 2 USART input CLK \4
-
enumerator
HAL_SMARTCARD_CLOCK_PRESC_DIV4
-
Input clock divided by 4 USART input CLK \6
-
enumerator
HAL_SMARTCARD_CLOCK_PRESC_DIV6
-
Input clock divided by 6 USART input CLK \8
-
enumerator
HAL_SMARTCARD_CLOCK_PRESC_DIV8
-
Input clock divided by 8 USART input CLK \10
-
enumerator
HAL_SMARTCARD_CLOCK_PRESC_DIV10
-
Input clock divided by 10 USART input CLK \12
-
enumerator
HAL_SMARTCARD_CLOCK_PRESC_DIV12
-
Input clock divided by 12 USART input CLK \16
-
enumerator
HAL_SMARTCARD_CLOCK_PRESC_DIV16
-
Input clock divided by 16 USART input CLK \32
-
enumerator
HAL_SMARTCARD_CLOCK_PRESC_DIV32
-
Input clock divided by 32 USART input CLK \64
-
enumerator
HAL_SMARTCARD_CLOCK_PRESC_DIV64
-
Input clock divided by 64 USART input CLK \128
-
enumerator
HAL_SMARTCARD_CLOCK_PRESC_DIV128
-
Input clock divided by 128 USART input CLK \256
-
enumerator
HAL_SMARTCARD_CLOCK_PRESC_DIV256
-
Input clock divided by 256
-
enumerator
HAL_SMARTCARD_CLOCK_PRESC_DIV1
-
enum
hal_smartcard_source_clock_prescaler_t
-
HAL SMARTCARD Smartcard SCLK prescaler enum definition.
Values:
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV2
-
SMARTCARD Output CLK /2 SMARTCARD Output CLK /2 SMARTCARD Output CLK /4
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV4
-
SMARTCARD Output CLK /4 SMARTCARD Output CLK /6
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV6
-
SMARTCARD Output CLK /6 SMARTCARD Output CLK /8
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV8
-
SMARTCARD Output CLK /8 SMARTCARD Output CLK /10
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV10
-
SMARTCARD Output CLK /10 SMARTCARD Output CLK /12
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV12
-
SMARTCARD Output CLK /12 SMARTCARD Output CLK /14
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV14
-
SMARTCARD Output CLK /14 SMARTCARD Output CLK /16
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV16
-
SMARTCARD Output CLK /16 SMARTCARD Output CLK /18
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV18
-
SMARTCARD Output CLK /18 SMARTCARD Output CLK /20
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV20
-
SMARTCARD Output CLK /20 SMARTCARD Output CLK /22
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV22
-
SMARTCARD Output CLK /22 SMARTCARD Output CLK /24
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV24
-
SMARTCARD Output CLK /24 SMARTCARD Output CLK /26
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV26
-
SMARTCARD Output CLK /26 SMARTCARD Output CLK /28
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV28
-
SMARTCARD Output CLK /28 SMARTCARD Output CLK /30
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV30
-
SMARTCARD Output CLK /30 SMARTCARD Output CLK /32
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV32
-
SMARTCARD Output CLK /32 SMARTCARD Output CLK /34
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV34
-
SMARTCARD Output CLK /34 SMARTCARD Output CLK /36
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV36
-
SMARTCARD Output CLK /36 SMARTCARD Output CLK /38
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV38
-
SMARTCARD Output CLK /38 SMARTCARD Output CLK /40
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV40
-
SMARTCARD Output CLK /40 SMARTCARD Output CLK /42
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV42
-
SMARTCARD Output CLK /42 SMARTCARD Output CLK /44
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV44
-
SMARTCARD Output CLK /44 SMARTCARD Output CLK /46
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV46
-
SMARTCARD Output CLK /46 SMARTCARD Output CLK /48
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV48
-
SMARTCARD Output CLK /48 SMARTCARD Output CLK /50
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV50
-
SMARTCARD Output CLK /50 SMARTCARD Output CLK /52
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV52
-
SMARTCARD Output CLK /52 SMARTCARD Output CLK /54
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV54
-
SMARTCARD Output CLK /54 SMARTCARD Output CLK /56
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV56
-
SMARTCARD Output CLK /56 SMARTCARD Output CLK /58
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV58
-
SMARTCARD Output CLK /58 SMARTCARD Output CLK /60
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV60
-
SMARTCARD Output CLK /60 SMARTCARD Output CLK /62
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV62
-
SMARTCARD Output CLK /62
-
enumerator
HAL_SMARTCARD_SCLK_PRESC_DIV2
-
enum
hal_smartcard_clock_output_t
-
HAL SMARTCARD Clock Output enum definition.
Values:
-
enumerator
HAL_SMARTCARD_CLOCK_OUTPUT_DISABLE
-
Clock signal output on CK pin disabled The clock signal output is disabled Clock signal output on CK pin enabled
-
enumerator
HAL_SMARTCARD_CLOCK_OUTPUT_ENABLE
-
0x00000800 Clock Enable The clock signal output is enabled
-
enumerator
HAL_SMARTCARD_CLOCK_OUTPUT_DISABLE
-
enum
hal_smartcard_clock_polarity_t
-
HAL SMARTCARD Clock polarity enum definition.
Values:
-
enumerator
HAL_SMARTCARD_CLOCK_POLARITY_LOW
-
Polarity Low Steady low value on SCLK pin outside transmission window Polarity High
-
enumerator
HAL_SMARTCARD_CLOCK_POLARITY_HIGH
-
0x00000400 Clock Polarity Steady high value on SCLK pin outside transmission window
-
enumerator
HAL_SMARTCARD_CLOCK_POLARITY_LOW
-
enum
hal_smartcard_clock_phase_t
-
HAL SMARTCARD Clock phase enum definition.
Values:
-
enumerator
HAL_SMARTCARD_CLOCK_PHASE_1_EDGE
-
The first clock transition is the first data capture edge The first clock transition is the first data capture edge The second clock transition is the first data capture edge
-
enumerator
HAL_SMARTCARD_CLOCK_PHASE_2_EDGE
-
0x00000200 Clock Phase The second clock transition is the first data capture edge
-
enumerator
HAL_SMARTCARD_CLOCK_PHASE_1_EDGE
-
enum
hal_smartcard_timeout_status_t
-
HAL SMARTCARD Timeout status definition.
Values:
-
enumerator
HAL_SMARTCARD_TIMEOUT_DISABLED
-
Timeout disabled Timeout enabled
-
enumerator
HAL_SMARTCARD_TIMEOUT_ENABLED
-
enumerator
HAL_SMARTCARD_TIMEOUT_DISABLED
-
enum
hal_smartcard_tx_cplt_guard_time_indication_t
-
HAL SMARTCARD Pre guard time Tx complete indication enum definition.
Values:
-
enumerator
HAL_SMARTCARD_TX_CPLT_AFTER_GUARD_TIME
-
SMARTCARD transmission complete (flag raised when guard time has elapsed) SMARTCARD transmission complete before guard time
-
enumerator
HAL_SMARTCARD_TX_CPLT_BEFORE_GUARD_TIME
-
enumerator
HAL_SMARTCARD_TX_CPLT_AFTER_GUARD_TIME
-
enum
hal_smartcard_end_of_block_interrupt_status_t
-
HAL SMARTCARD End of block interrupt status definition.
Values:
-
enumerator
HAL_SMARTCARD_EOB_IT_DISABLED
-
End of block interrupt disabled End of block interrupt enabled
-
enumerator
HAL_SMARTCARD_EOB_IT_ENABLED
-
enumerator
HAL_SMARTCARD_EOB_IT_DISABLED
-
enum
hal_smartcard_fifo_mode_status_t
-
HAL SMARTCARD Fifo status definition.
Values:
-
enumerator
HAL_SMARTCARD_FIFO_MODE_DISABLED
-
Fifo disabled Fifo enabled
-
enumerator
HAL_SMARTCARD_FIFO_MODE_ENABLED
-
enumerator
HAL_SMARTCARD_FIFO_MODE_DISABLED
-
enum
hal_smartcard_fifo_threshold_t
-
HAL SMARTCARD Fifo threshold enum definition.
Values:
-
enumerator
HAL_SMARTCARD_FIFO_THRESHOLD_1_8
-
FIFO reaches 1/8 of its depth FIFO reaches 1/8 of its depth FIFO reaches 1/4 of its depth
-
enumerator
HAL_SMARTCARD_FIFO_THRESHOLD_1_4
-
FIFO reaches 1/4 of its depth FIFO reaches 1/2 of its depth
-
enumerator
HAL_SMARTCARD_FIFO_THRESHOLD_1_2
-
FIFO reaches 1/2 of its depth FIFO reaches 3/4 of its depth
-
enumerator
HAL_SMARTCARD_FIFO_THRESHOLD_3_4
-
FIFO reaches 3/4 of its depth FIFO reaches 7/8 of its depth
-
enumerator
HAL_SMARTCARD_FIFO_THRESHOLD_7_8
-
FIFO reaches 7/8 of its depth FIFO reaches 8/8 of its depth
-
enumerator
HAL_SMARTCARD_FIFO_THRESHOLD_8_8
-
FIFO becomes empty for TX and full for RX
-
enumerator
HAL_SMARTCARD_FIFO_THRESHOLD_1_8
-
struct
hal_smartcard_handle_s
-
#include <stm32c5xx_hal_smartcard.h>
HAL SMARTCARD handle structure type.
Public Members
-
hal_smartcard_t
instance
-
Peripheral instance
-
volatile
hal_smartcard_state_t
global_state
-
SMARTCARD state information related to global handle management
-
const
uint8_t
*
p_tx_buff
-
Pointer to SMARTCARD Tx transfer buffer
-
volatile
uint32_t
tx_xfer_size
-
SMARTCARD Tx Transfer size
-
volatile
uint32_t
tx_xfer_count
-
SMARTCARD Tx Transfer Counter
-
uint8_t
*
p_rx_buff
-
Pointer to SMARTCARD Rx transfer buffer
-
volatile
uint32_t
rx_xfer_size
-
SMARTCARD Rx Transfer size
-
volatile
uint32_t
rx_xfer_count
-
SMARTCARD Rx Transfer Counter
-
hal_smartcard_fifo_mode_status_t
fifo_status
-
Specifies whether the FIFO mode is used
-
uint16_t
nb_rx_data_to_process
-
Number of data to process during RX ISR execution
-
uint16_t
nb_tx_data_to_process
-
Number of data to process during TX ISR execution
-
hal_smartcard_tx_cplt_guard_time_indication_t
tx_cplt_indication
-
Tx complete indication configuration: before guard time or after
-
void
(
*
p_rx_isr
)
(
struct
hal_smartcard_handle_s
*
hsmartcard
)
-
Function pointer to Rx IRQ handler
-
void
(
*
p_tx_isr
)
(
struct
hal_smartcard_handle_s
*
hsmartcard
)
-
Function pointer to Tx IRQ handler
-
hal_dma_handle_t
*
hdma_tx
-
SMARTCARD Tx DMA handle parameters
-
hal_dma_handle_t
*
hdma_rx
-
SMARTCARD Rx DMA handle parameters
-
hal_smartcard_cb_t
p_tx_cplt_callback
-
SMARTCARD Tx complete callback
-
hal_smartcard_cb_t
p_tx_half_cplt_callback
-
SMARTCARD Tx Half complete callback
-
hal_smartcard_cb_t
p_rx_cplt_callback
-
SMARTCARD Rx complete callback
-
hal_smartcard_cb_t
p_rx_half_cplt_callback
-
SMARTCARD Rx Half complete callback
-
hal_smartcard_cb_t
p_error_callback
-
SMARTCARD Error callback
-
hal_smartcard_cb_t
p_abort_cplt_callback
-
SMARTCARD Abort complete callback
-
hal_smartcard_cb_t
p_rx_fifo_full_callback
-
SMARTCARD Rx FIFO full callback
-
hal_smartcard_cb_t
p_tx_fifo_empty_callback
-
SMARTCARD Tx FIFO empty callback
-
hal_os_semaphore_t
semaphore
-
USART OS semaphore
-
const
void
*
p_user_data
-
User data pointer
-
volatile
uint32_t
last_error_codes
-
Last error codes
-
hal_smartcard_t
instance
-
struct
hal_smartcard_config_t
-
#include <stm32c5xx_hal_smartcard.h>
HAL SMARTCARD Global configuration structure definition.
Public Members
-
uint32_t
baud_rate
-
Configures the SMARTCARD communication baud rate. The baud rate register is computed using the following formula: baud rate register = usart_ker_ckpres / baud_rate where usart_ker_ckpres is the USART input clock divided by a prescaler.
-
hal_smartcard_stop_bits_t
stop_bits
-
Specifies the number of stop bits.
-
hal_smartcard_bit_order_t
first_bit
-
Specifies whether MSB is sent first on the USART line.
-
hal_smartcard_parity_t
parity
-
Specifies the parity mode. The parity is enabled by default (PCE is forced to 1). Since the WordLength is forced to 8 bits + parity, M is forced to 1 and the parity bit is the 9th bit.
-
hal_smartcard_nack_state_t
nack
-
Specifies whether the SMARTCARD NACK transmission is enabled in case of parity error.
-
hal_smartcard_prescaler_t
clock_prescaler
-
Specifies the prescaler value used to divide the USART input clock to provide USART clock source.
-
hal_smartcard_source_clock_prescaler_t
sclk_prescaler
-
Specifies the SMARTCARD prescaler used to divide the USART clock, the clock sent to the smartcard is the output clock after the division.
-
hal_smartcard_clock_output_t
clock_output
-
Specifies whether the CLK signal is output or not.
-
hal_smartcard_clock_polarity_t
clock_polarity
-
Specifies the steady state of the serial clock.
-
hal_smartcard_clock_phase_t
clock_phase
-
Specifies the clock transition on which the bit capture is made.
-
uint32_t
guard_time_etu
-
Specifies the SMARTCARD guard time ETU (Elementary Time Unit) applied after stop bits.
-
uint32_t
auto_retry_count
-
Specifies the SMARTCARD auto-retry count (number of retries in receive and transmit mode). When set to 0, retransmission is disabled. Otherwise, its maximum value is 7 (before signalling an error).
-
uint32_t
baud_rate
-
typedef
struct
hal_smartcard_handle_s
hal_smartcard_handle_t