VSF Documented
Data Structures | Macros | Typedefs | Enumerations | Functions
uart.h File Reference
#include "hal/vsf_hal_cfg.h"
#include "../device.h"
#include "utilities/compiler/compiler.h"

Go to the source code of this file.

Data Structures

struct  vsf_usart_win_device_t
 

Macros

#define VSF_USART_CFG_REIMPLEMENT_TYPE_MODE   ENABLED
 
#define VSF_USART_CFG_REIMPLEMENT_TYPE_IRQ_MASK   ENABLED
 

Typedefs

typedef enum vsf_usart_mode_t vsf_usart_mode_t
 
typedef enum vsf_usart_irq_mask_t vsf_usart_irq_mask_t
 
typedef struct vsf_usart_t vsf_usart_t
 
typedef struct vsf_usart_win_device_t vsf_usart_win_device_t
 

Enumerations

enum  vsf_usart_mode_t {
  VSF_USART_8_BIT_LENGTH = (0x00ul << 0) ,
  VSF_USART_9_BIT_LENGTH = (0x01ul << 0) ,
  VSF_USART_1_STOPBIT = (0x00ul << 1) ,
  VSF_USART_1_5_STOPBIT = (0x01ul << 1) ,
  VSF_USART_2_STOPBIT = (0x02ul << 1) ,
  VSF_USART_NO_PARITY = (0x00ul << 3) ,
  VSF_USART_EVEN_PARITY = (0x01ul << 3) ,
  VSF_USART_ODD_PARITY = (0x02ul << 3) ,
  VSF_USART_NO_HWCONTROL = (0x00ul << 5) ,
  VSF_USART_RTS_HWCONTROL = (0x01ul << 5) ,
  VSF_USART_CTS_HWCONTROL = (0x02ul << 5) ,
  VSF_USART_RTS_CTS_HWCONTROL = (0x03ul << 5) ,
  VSF_USART_6_BIT_LENGTH = (0x01ul << 7) ,
  VSF_USART_7_BIT_LENGTH = (0x02ul << 7) ,
  VSF_USART_5_BIT_LENGTH = (0x03ul << 7) ,
  VSF_USART_10_BIT_LENGTH = (0x04ul << 7) ,
  VSF_USART_FORCE_0_PARITY = (0x01ul << 10) ,
  VSF_USART_FORCE_1_PARITY = (0x02ul << 10) ,
  VSF_USART_0_5_STOPBIT = (0x01ul << 12) ,
  VSF_USART_TX_ENABLE = (0x01ul << 13) ,
  VSF_USART_TX_DISABLE = (0x00ul << 13) ,
  VSF_USART_RX_ENABLE = (0x01ul << 14) ,
  VSF_USART_RX_DISABLE = (0x00ul << 14) ,
  VSF_USART_SYNC_CLOCK_ENABLE = (0x00ul << 15) ,
  VSF_USART_SYNC_CLOCK_DISABLE = (0x01ul << 15) ,
  VSF_USART_HALF_DUPLEX_DISABLE = (0x00ul << 16) ,
  VSF_USART_HALF_DUPLEX_ENABLE = (0x01ul << 16) ,
  VSF_USART_TX_FIFO_THRESH_ONE = (0x00ul << 17) ,
  VSF_USART_TX_FIFO_THRESH_HALF_FULL = (0x01ul << 17) ,
  VSF_USART_TX_FIFO_THRESH_FULL = (0x02ul << 17) ,
  VSF_USART_RX_FIFO_THRESH_ONE = (0x00ul << 19) ,
  VSF_USART_RX_FIFO_THRESH_HALF_FULL = (0x01ul << 19) ,
  VSF_USART_RX_FIFO_THRESH_FULL = (0x02ul << 19) ,
  VSF_USART_SYNC_CLOCK_POLARITY_LOW = (0x00ul << 21) ,
  VSF_USART_SYNC_CLOCK_POLARITY_HIGH = (0x01ul << 21) ,
  VSF_USART_SYNC_CLOCK_PHASE_1_EDGE = (0x00ul << 22) ,
  VSF_USART_SYNC_CLOCK_PHASE_2_EDGE = (0x01ul << 22) ,
  VSF_USART_IRDA_ENABLE = (0x01ul << 23) ,
  VSF_USART_IRDA_DISABLE = (0x01ul << 23) ,
  WIN_USART_BIT_LENGTH_MASK ,
  WIN_USART_STOPBIT_MASK ,
  WIN_USART_PARITY_MASK ,
  WIN_USART_HWCONTROL_MASK ,
  WIN_USART_MODE_ALL_BITS_MASK
}
 
enum  vsf_usart_irq_mask_t {
  VSF_USART_IRQ_MASK_RX = VSF_BIT(0) ,
  VSF_USART_IRQ_MASK_TX = VSF_BIT(1) ,
  VSF_USART_IRQ_MASK_RX_TIMEOUT = VSF_BIT(2) ,
  VSF_USART_IRQ_MASK_RX_CPL = VSF_BIT(3) ,
  VSF_USART_IRQ_MASK_TX_CPL = VSF_BIT(4) ,
  VSF_USART_IRQ_MASK_FRAME_ERR = VSF_BIT(5) ,
  VSF_USART_IRQ_MASK_PARITY_ERR = VSF_BIT(6) ,
  VSF_USART_IRQ_MASK_BREAK_ERR = VSF_BIT(7) ,
  VSF_USART_IRQ_MASK_OVERFLOW_ERR = VSF_BIT(8) ,
  VSF_USART_IRQ_MASK_TX_ERR = VSF_BIT(9) ,
  VSF_USART_IRQ_MASK_CTS = VSF_BIT(10) ,
  WIN_USART_IRQ_ALL_BITS_MASK
}
 

Functions

uint8_t vsf_win_usart_scan_devices (vsf_usart_win_device_t *devices, uint8_t device_num)
 

Macro Definition Documentation

◆ VSF_USART_CFG_REIMPLEMENT_TYPE_MODE

#define VSF_USART_CFG_REIMPLEMENT_TYPE_MODE   ENABLED

◆ VSF_USART_CFG_REIMPLEMENT_TYPE_IRQ_MASK

#define VSF_USART_CFG_REIMPLEMENT_TYPE_IRQ_MASK   ENABLED

Typedef Documentation

◆ vsf_usart_mode_t

◆ vsf_usart_irq_mask_t

◆ vsf_usart_t

typedef struct vsf_usart_t vsf_usart_t

◆ vsf_usart_win_device_t

Enumeration Type Documentation

◆ vsf_usart_mode_t

Enumerator
VSF_USART_8_BIT_LENGTH 
VSF_USART_9_BIT_LENGTH 
VSF_USART_1_STOPBIT 
VSF_USART_1_5_STOPBIT 
VSF_USART_2_STOPBIT 
VSF_USART_NO_PARITY 
VSF_USART_EVEN_PARITY 
VSF_USART_ODD_PARITY 
VSF_USART_NO_HWCONTROL 
VSF_USART_RTS_HWCONTROL 
VSF_USART_CTS_HWCONTROL 
VSF_USART_RTS_CTS_HWCONTROL 
VSF_USART_6_BIT_LENGTH 
VSF_USART_7_BIT_LENGTH 
VSF_USART_5_BIT_LENGTH 
VSF_USART_10_BIT_LENGTH 
VSF_USART_FORCE_0_PARITY 
VSF_USART_FORCE_1_PARITY 
VSF_USART_0_5_STOPBIT 
VSF_USART_TX_ENABLE 
VSF_USART_TX_DISABLE 
VSF_USART_RX_ENABLE 
VSF_USART_RX_DISABLE 
VSF_USART_SYNC_CLOCK_ENABLE 
VSF_USART_SYNC_CLOCK_DISABLE 
VSF_USART_HALF_DUPLEX_DISABLE 
VSF_USART_HALF_DUPLEX_ENABLE 
VSF_USART_TX_FIFO_THRESH_ONE 

one data for txfifo

VSF_USART_TX_FIFO_THRESH_HALF_FULL 

Half of the threshold for txfifo.

VSF_USART_TX_FIFO_THRESH_FULL 

Full of the threshold for txfifo.

VSF_USART_RX_FIFO_THRESH_ONE 

one data for txfifo

VSF_USART_RX_FIFO_THRESH_HALF_FULL 

Half of the threshold for txfifo.

VSF_USART_RX_FIFO_THRESH_FULL 

Full of the threshold for txfifo.

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_IRDA_ENABLE 
VSF_USART_IRDA_DISABLE 
WIN_USART_BIT_LENGTH_MASK 
WIN_USART_STOPBIT_MASK 
WIN_USART_PARITY_MASK 
WIN_USART_HWCONTROL_MASK 
WIN_USART_MODE_ALL_BITS_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_RX_CPL 
VSF_USART_IRQ_MASK_TX_CPL 
VSF_USART_IRQ_MASK_FRAME_ERR 
VSF_USART_IRQ_MASK_PARITY_ERR 
VSF_USART_IRQ_MASK_BREAK_ERR 
VSF_USART_IRQ_MASK_OVERFLOW_ERR 
VSF_USART_IRQ_MASK_TX_ERR 
VSF_USART_IRQ_MASK_CTS 
WIN_USART_IRQ_ALL_BITS_MASK 

Function Documentation

◆ vsf_win_usart_scan_devices()

uint8_t vsf_win_usart_scan_devices ( vsf_usart_win_device_t devices,
uint8_t  device_num 
)
extern