VSF Documented
Data Structures | Macros | Typedefs | Enumerations
usart.h File Reference
#include "hal/vsf_hal_cfg.h"
#include "../../__device.h"
#include "utilities/ooc_class.h"

Go to the source code of this file.

Data Structures

struct  vsf_usart_status_t
 

Macros

#define VSF_HW_USART_CFG_MULTI_CLASS   VSF_USART_CFG_MULTI_CLASS
 
#define VSF_USART_CFG_REIMPLEMENT_TYPE_MODE   ENABLED
 
#define VSF_USART_CFG_REIMPLEMENT_TYPE_STATUS   ENABLED
 
#define VSF_USART_CFG_REIMPLEMENT_TYPE_IRQ_MASK   ENABLED
 
#define VSF_USART_CFG_REIMPLEMENT_TYPE_CMD   ENABLED
 
#define VSF_USART_SYNC_CLOCK_LAST_BIT_ENABLE   VSF_USART_SYNC_CLOCK_LAST_BIT_ENABLE
 
#define VSF_USART_SYNC_CLOCK_LAST_BIT_DISABLE   VSF_USART_SYNC_CLOCK_LAST_BIT_DISABLE
 
#define VSF_USART_SYNC_CLOCK_LAST_BIT_MASK   VSF_USART_SYNC_CLOCK_LAST_BIT_ENABLE | VSF_USART_SYNC_CLOCK_LAST_BIT_DISABLE
 

Typedefs

typedef enum vsf_usart_mode_t vsf_usart_mode_t
 
typedef enum vsf_usart_irq_mask_t vsf_usart_irq_mask_t
 
typedef enum vsf_usart_cmd_t vsf_usart_cmd_t
 
typedef struct vsf_usart_status_t vsf_usart_status_t
 

Enumerations

enum  vsf_usart_mode_t {
  VSF_USART_0_5_STOPBIT = (1 << 12) >> 12 ,
  VSF_USART_1_STOPBIT = (0 << 12) >> 12 ,
  VSF_USART_1_5_STOPBIT = (3 << 12) >> 12 ,
  VSF_USART_2_STOPBIT = (2 << 12) >> 12 ,
  VSF_USART_TX_ENABLE = (1 << 3) ,
  VSF_USART_TX_DISABLE = (0 << 3) ,
  VSF_USART_RX_ENABLE = (1 << 2) ,
  VSF_USART_RX_DISABLE = (0 << 2) ,
  VSF_USART_NO_HWCONTROL = (0) ,
  VSF_USART_RTS_HWCONTROL = (1 << 8) >> 4 ,
  VSF_USART_CTS_HWCONTROL = (1 << 9) >> 4 ,
  VSF_USART_RTS_CTS_HWCONTROL ,
  VSF_USART_HALF_DUPLEX_ENABLE = (1 << 3) << 3 ,
  VSF_USART_HALF_DUPLEX_DISABLE = 0 ,
  VSF_USART_NO_PARITY = (0 << 10) ,
  VSF_USART_ODD_PARITY = (1 << 10) | (1 << 9) ,
  VSF_USART_EVEN_PARITY = (1 << 10) ,
  VSF_USART_SYNC_CLOCK_ENABLE = (1 << 11) << 12 ,
  VSF_USART_SYNC_CLOCK_DISABLE = (0 << 11) << 12 ,
  VSF_USART_SYNC_CLOCK_POLARITY_LOW = (0 << 10) << 12 ,
  VSF_USART_SYNC_CLOCK_POLARITY_HIGH = (1 << 10) << 12 ,
  VSF_USART_SYNC_CLOCK_PHASE_1_EDGE = (0 << 9) << 12 ,
  VSF_USART_SYNC_CLOCK_PHASE_2_EDGE = (1 << 9) << 12 ,
  VSF_USART_SYNC_CLOCK_LAST_BIT_ENABLE = (1 << 8) << 12 ,
  VSF_USART_SYNC_CLOCK_LAST_BIT_DISABLE = (0 << 8) << 12 ,
  VSF_USART_SYNC_CLOCK_LAST_BIT_ENABLE = (1 << 8) << 12 ,
  VSF_USART_SYNC_CLOCK_LAST_BIT_DISABLE = (0 << 8) << 12 ,
  VSF_USART_10_BIT_LENGTH = (1 << 12) | (1 << 28) ,
  VSF_USART_9_BIT_LENGTH = (1 << 12) ,
  VSF_USART_8_BIT_LENGTH = (0) ,
  VSF_USART_7_BIT_LENGTH = (1 << 28) ,
  VSF_USART_MUTE = (1 << 13) ,
  VSF_USART_SWAP = (1 << 15) ,
  VSF_USART_TX_INV = (1 << 17) ,
  VSF_USART_RX_INV = (1 << 16) ,
  VSF_USART_OVERSAMPLE_8 = (1 << 18) ,
  VSF_USART_OVERSAMPLE_16 = (0 << 18) ,
  VSF_USART_OVERSAMPLE_MASK = (1 << 18) ,
  __VSF_HW_USART_CTL0_MASK ,
  __VSF_HW_USART_CTL1_MASK ,
  __VSF_HW_USART_CTL2_MASK ,
  VSF_USART_6_BIT_LENGTH = (1 << 6) ,
  VSF_USART_5_BIT_LENGTH = (2 << 6) ,
  VSF_USART_FORCE_0_PARITY = (0 << 8) ,
  VSF_USART_FORCE_1_PARITY = (1 << 8) ,
  VSF_USART_TX_FIFO_THRESH_ONE = (0 << 20) ,
  VSF_USART_TX_FIFO_THRESH_HALF_FULL = (1 << 20) ,
  VSF_USART_TX_FIFO_THRESH_FULL = (2 << 20) ,
  VSF_USART_RX_FIFO_THRESH_ONE = (0 << 22) ,
  VSF_USART_RX_FIFO_THRESH_HALF_FULL = (1 << 22) ,
  VSF_USART_RX_FIFO_THRESH_FULL = (2 << 22) ,
  __VSF_HW_USART_NOT_SUPPORT_MASK
}
 
enum  vsf_usart_irq_mask_t {
  VSF_USART_IRQ_MASK_RX = (1 << 5) ,
  VSF_USART_IRQ_MASK_TX = (1 << 7) ,
  VSF_USART_IRQ_MASK_RX_TIMEOUT = (1 << 26) ,
  VSF_USART_IRQ_MASK_CTS = (1 << 0) ,
  VSF_USART_IRQ_MASK_RX_CPL = (0) ,
  VSF_USART_IRQ_MASK_TX_CPL = (0) ,
  VSF_USART_IRQ_MASK_PARITY_ERR = (1 << 8) ,
  __VSF_HW_USART_IRQ_MASK ,
  __VSF_HW_USART_CTL0_IRQ_MASK ,
  __VSF_HW_USART_CTL2_IRQ_MASK = VSF_USART_IRQ_MASK_CTS ,
  VSF_USART_IRQ_MASK_FRAME_ERR = (1 << 0) ,
  VSF_USART_IRQ_MASK_BREAK_ERR = (1 << 1) ,
  VSF_USART_IRQ_MASK_OVERFLOW_ERR = (1 << 2) ,
  __VSF_HW_USART_NOT_SUPPORT_IRQ_MASK
}
 
enum  vsf_usart_cmd_t {
  VSF_USART_CMD_SEND_BREAK = (1 << 1) ,
  VSF_USART_CMD_SET_BREAK = (1 << 8) ,
  VSF_USART_CMD_CLEAR_BREAK = (1 << 9) ,
  __VSF_HW_USART_SUPPORT_CMD_MASK = VSF_USART_CMD_SEND_BREAK
}
 

Macro Definition Documentation

◆ VSF_HW_USART_CFG_MULTI_CLASS

#define VSF_HW_USART_CFG_MULTI_CLASS   VSF_USART_CFG_MULTI_CLASS

◆ VSF_USART_CFG_REIMPLEMENT_TYPE_MODE

#define VSF_USART_CFG_REIMPLEMENT_TYPE_MODE   ENABLED

◆ VSF_USART_CFG_REIMPLEMENT_TYPE_STATUS

#define VSF_USART_CFG_REIMPLEMENT_TYPE_STATUS   ENABLED

◆ VSF_USART_CFG_REIMPLEMENT_TYPE_IRQ_MASK

#define VSF_USART_CFG_REIMPLEMENT_TYPE_IRQ_MASK   ENABLED

◆ VSF_USART_CFG_REIMPLEMENT_TYPE_CMD

#define VSF_USART_CFG_REIMPLEMENT_TYPE_CMD   ENABLED

◆ VSF_USART_SYNC_CLOCK_LAST_BIT_ENABLE

#define VSF_USART_SYNC_CLOCK_LAST_BIT_ENABLE   VSF_USART_SYNC_CLOCK_LAST_BIT_ENABLE

◆ VSF_USART_SYNC_CLOCK_LAST_BIT_DISABLE

#define VSF_USART_SYNC_CLOCK_LAST_BIT_DISABLE   VSF_USART_SYNC_CLOCK_LAST_BIT_DISABLE

◆ VSF_USART_SYNC_CLOCK_LAST_BIT_MASK

#define VSF_USART_SYNC_CLOCK_LAST_BIT_MASK   VSF_USART_SYNC_CLOCK_LAST_BIT_ENABLE | VSF_USART_SYNC_CLOCK_LAST_BIT_DISABLE

Typedef Documentation

◆ vsf_usart_mode_t

◆ vsf_usart_irq_mask_t

◆ vsf_usart_cmd_t

◆ vsf_usart_status_t

Enumeration Type Documentation

◆ vsf_usart_mode_t

Enumerator
VSF_USART_0_5_STOPBIT 
VSF_USART_1_STOPBIT 
VSF_USART_1_5_STOPBIT 
VSF_USART_2_STOPBIT 
VSF_USART_TX_ENABLE 
VSF_USART_TX_DISABLE 
VSF_USART_RX_ENABLE 
VSF_USART_RX_DISABLE 
VSF_USART_NO_HWCONTROL 
VSF_USART_RTS_HWCONTROL 
VSF_USART_CTS_HWCONTROL 
VSF_USART_RTS_CTS_HWCONTROL 
VSF_USART_HALF_DUPLEX_ENABLE 
VSF_USART_HALF_DUPLEX_DISABLE 
VSF_USART_NO_PARITY 
VSF_USART_ODD_PARITY 
VSF_USART_EVEN_PARITY 
VSF_USART_SYNC_CLOCK_ENABLE 
VSF_USART_SYNC_CLOCK_DISABLE 
VSF_USART_SYNC_CLOCK_POLARITY_LOW 
VSF_USART_SYNC_CLOCK_POLARITY_HIGH 
VSF_USART_SYNC_CLOCK_PHASE_1_EDGE 
VSF_USART_SYNC_CLOCK_PHASE_2_EDGE 
VSF_USART_SYNC_CLOCK_LAST_BIT_ENABLE 
VSF_USART_SYNC_CLOCK_LAST_BIT_DISABLE 
VSF_USART_SYNC_CLOCK_LAST_BIT_ENABLE 
VSF_USART_SYNC_CLOCK_LAST_BIT_DISABLE 
VSF_USART_10_BIT_LENGTH 
VSF_USART_9_BIT_LENGTH 
VSF_USART_8_BIT_LENGTH 
VSF_USART_7_BIT_LENGTH 
VSF_USART_MUTE 
VSF_USART_SWAP 
VSF_USART_TX_INV 
VSF_USART_RX_INV 
VSF_USART_OVERSAMPLE_8 
VSF_USART_OVERSAMPLE_16 
VSF_USART_OVERSAMPLE_MASK 
__VSF_HW_USART_CTL0_MASK 
__VSF_HW_USART_CTL1_MASK 
__VSF_HW_USART_CTL2_MASK 
VSF_USART_6_BIT_LENGTH 
VSF_USART_5_BIT_LENGTH 
VSF_USART_FORCE_0_PARITY 
VSF_USART_FORCE_1_PARITY 
VSF_USART_TX_FIFO_THRESH_ONE 
VSF_USART_TX_FIFO_THRESH_HALF_FULL 
VSF_USART_TX_FIFO_THRESH_FULL 
VSF_USART_RX_FIFO_THRESH_ONE 
VSF_USART_RX_FIFO_THRESH_HALF_FULL 
VSF_USART_RX_FIFO_THRESH_FULL 
__VSF_HW_USART_NOT_SUPPORT_MASK 

◆ vsf_usart_irq_mask_t

Enumerator
VSF_USART_IRQ_MASK_RX 
VSF_USART_IRQ_MASK_TX 
VSF_USART_IRQ_MASK_RX_TIMEOUT 
VSF_USART_IRQ_MASK_CTS 
VSF_USART_IRQ_MASK_RX_CPL 
VSF_USART_IRQ_MASK_TX_CPL 
VSF_USART_IRQ_MASK_PARITY_ERR 
__VSF_HW_USART_IRQ_MASK 
__VSF_HW_USART_CTL0_IRQ_MASK 
__VSF_HW_USART_CTL2_IRQ_MASK 
VSF_USART_IRQ_MASK_FRAME_ERR 
VSF_USART_IRQ_MASK_BREAK_ERR 
VSF_USART_IRQ_MASK_OVERFLOW_ERR 
__VSF_HW_USART_NOT_SUPPORT_IRQ_MASK 

◆ vsf_usart_cmd_t

Enumerator
VSF_USART_CMD_SEND_BREAK 
VSF_USART_CMD_SET_BREAK 
VSF_USART_CMD_CLEAR_BREAK 
__VSF_HW_USART_SUPPORT_CMD_MASK