9 #ifndef _UDRV_SERIAL_H_ 10 #define _UDRV_SERIAL_H_ 49 #define SERIAL_NO_TIMEOUT UINT32_MAX 107 int32_t (*
SERIAL_WRITE) (SERIAL_PORT Port, uint8_t
const *Buffer, int32_t NumberOfBytes, uint32_t Timeout);
108 int32_t (*
SERIAL_READ) (SERIAL_PORT Port, uint8_t *Buffer, int32_t NumberOfBytes, uint32_t Timeout);
158 int32_t
udrv_serial_write (SERIAL_PORT Port, uint8_t
const *Buffer, int32_t NumberOfBytes);
170 #ifndef RUI_BOOTLOADER 189 int32_t
udrv_serial_read (SERIAL_PORT Port, uint8_t *Buffer, int32_t NumberOfBytes);
293 #ifndef RUI_BOOTLOADER 301 #endif // #ifndef _UDRV_SERIAL_H_ Definition: udrv_serial.h:32
bool is_udrv_serial_initialized(SERIAL_PORT Port)
This API is used to check if a specified serial port is initialized.
bool(* SERIAL_IS_READY)(SERIAL_PORT Port)
Definition: udrv_serial.h:112
The parity bit is sent as/checked to be 1.
Definition: udrv_serial.h:73
Definition: udrv_serial.h:39
No parity bit is transmitted nor expected.
Definition: udrv_serial.h:70
Definition: udrv_serial.h:45
int32_t(* SERIAL_WRITE)(SERIAL_PORT Port, uint8_t const *Buffer, int32_t NumberOfBytes, uint32_t Timeout)
Definition: udrv_serial.h:107
int32_t(* SERIAL_READ)(SERIAL_PORT Port, uint8_t *Buffer, int32_t NumberOfBytes, uint32_t Timeout)
Definition: udrv_serial.h:108
Character's Word Length 6 bits.
Definition: udrv_serial.h:59
void(* SERIAL_CLI_HANDLER)(SERIAL_PORT, void *)
Definition: udrv_serial.h:101
void(* SERIAL_FLUSH)(SERIAL_PORT Port, uint32_t Timeout)
Definition: udrv_serial.h:110
Definition: udrv_serial.h:28
Definition: udrv_serial.h:46
Definition: udrv_serial.h:80
The parity bit is sent as/checked to be 0.
Definition: udrv_serial.h:74
int32_t udrv_serial_get_passwd(char *passwd, uint32_t len)
This API is used to get the unlock password for a specified serial port.
Character's Word Length 7 bits.
Definition: udrv_serial.h:60
enum _SERIAL_EVENT SERIAL_EVENT
_SERIAL_EVENT
Definition: udrv_serial.h:37
void udrv_serial_unlock(void)
This API is used to maunually unlock a specified serial port.
void udrv_serial_set_timeout(uint32_t timeout)
This API is used to set the timeout value for read/write/flush API.
Definition: udrv_serial.h:81
enum _SERIAL_STATE SERIAL_STATE
Character's Word Length 8 bits.
Definition: udrv_serial.h:61
Definition: udrv_serial.h:24
void udrv_serial_resume()
Resume serial hardware after leaving sleep mode.
void udrv_serial_register_onewire_handler(SERIAL_CLI_HANDLER handler)
This API is used to register a one-wire handler.
int32_t udrv_serial_printf(SERIAL_PORT Port, const char *fmt,...)
This API is like printf() to format any kinds of data type into a byte sequence, and write it to a sp...
The number of bits including the parity bit must be even.
Definition: udrv_serial.h:72
Definition: udrv_serial.h:97
enum _SERIAL_WORD_LEN_E SERIAL_WORD_LEN_E
Definition: udrv_serial.h:79
uint32_t udrv_serial_get_timeout()
This API is used to get the timeout value for read/write/flush API.
_SERIAL_PARITY_E
Definition: udrv_serial.h:69
Definition: udrv_serial.h:41
Definition: udrv_serial.h:54
int32_t udrv_serial_set_passwd(const char *passwd, uint32_t len)
This API is used to set the unlock password for a specified serial port.
void udrv_serial_init(SERIAL_PORT Port, uint32_t BaudRate, SERIAL_WORD_LEN_E DataBits, SERIAL_STOP_BIT_E StopBits, SERIAL_PARITY_E Parity, SERIAL_WIRE_MODE_E WireMode)
This API is used to initialize a specified serial port.
Definition: udrv_serial.h:89
Definition: udrv_serial.h:25
int32_t udrv_serial_peek(SERIAL_PORT Port)
This API is used to peek a byte from a specified serial port.
void(* SERIAL_DEINIT)(SERIAL_PORT Port)
Definition: udrv_serial.h:106
void(* SERIAL_INIT)(SERIAL_PORT Port, uint32_t BaudRate, SERIAL_WORD_LEN_E DataBits, SERIAL_STOP_BIT_E StopBits, SERIAL_PARITY_E Parity, SERIAL_WIRE_MODE_E WireMode)
Definition: udrv_serial.h:105
Definition: udrv_serial.h:86
enum _SERIAL_STOP_BIT_E SERIAL_STOP_BIT_E
Definition: udrv_serial.h:33
enum _SERIAL_WLOCK_STATE SERIAL_WLOCK_STATE
Definition: udrv_serial.h:104
void udrv_serial_suspend()
Suspend serial hardware before entering sleep mode.
Definition: udrv_serial.h:29
Definition: udrv_serial.h:42
Definition: udrv_serial.h:31
Definition: udrv_serial.h:44
void udrv_serial_deinit(SERIAL_PORT Port)
This API is used to deinitialize a specified serial port.
_SERIAL_PORT
Definition: udrv_serial.h:77
_SERIAL_STOP_BIT_E
Definition: udrv_serial.h:64
Definition: udrv_serial.h:53
Definition: udrv_serial.h:30
Definition: udrv_serial.h:91
Definition: udrv_serial.h:98
The number of bits including the parity bit must be odd.
Definition: udrv_serial.h:71
enum _SERIAL_WIRE_MODE_E SERIAL_WIRE_MODE_E
int32_t udrv_serial_read(SERIAL_PORT Port, uint8_t *Buffer, int32_t NumberOfBytes)
This API is used to read a byte sequence from a specified serial port.
Definition: udrv_serial.h:23
Definition: udrv_serial.h:40
Definition: udrv_serial.h:43
_SERIAL_WIRE_MODE_E
Definition: udrv_serial.h:51
Definition: udrv_serial.h:26
One stop bit will be transmitted.
Definition: udrv_serial.h:65
Definition: udrv_serial.h:52
Definition: udrv_serial.h:34
Definition: udrv_serial.h:22
int32_t(* SERIAL_READ_AVAIL)(SERIAL_PORT Port)
Definition: udrv_serial.h:111
Definition: udrv_serial.h:38
Character's Word Length 5 bits.
Definition: udrv_serial.h:58
int32_t udrv_serial_log_printf(const char *fmt,...)
This API is like printf() to format any kinds of data type into a byte sequence, and write it to ever...
Two stop bits (1.5 with 5-bit data) will be transmitted.
Definition: udrv_serial.h:66
_SERIAL_WORD_LEN_E
Definition: udrv_serial.h:57
SERIAL_WLOCK_STATE udrv_serial_get_lock_state(SERIAL_PORT Port)
This API is used to get the lock state of a specified serial port.
_SERIAL_WLOCK_STATE
Definition: udrv_serial.h:94
void udrv_serial_disable(SERIAL_PORT Port)
This API is used to disable a specified serial port.
int32_t(* SERIAL_PEEK)(SERIAL_PORT Port)
Definition: udrv_serial.h:109
void udrv_serial_lock(void)
This API is used to lock a specified serial port.
enum _SERIAL_PARITY_E SERIAL_PARITY_E
_SERIAL_STATE
Definition: udrv_serial.h:21
void udrv_serial_enable(SERIAL_PORT Port)
This API is used to enable a specified serial port.
enum _SERIAL_PORT SERIAL_PORT
Definition: udrv_serial.h:96
void udrv_serial_flush(SERIAL_PORT Port)
This API is used to wait a specified serial port to complete data writing.
int32_t udrv_serial_write(SERIAL_PORT Port, uint8_t const *Buffer, int32_t NumberOfBytes)
int32_t udrv_serial_read_available(SERIAL_PORT Port)
This API is used to get the number of bytes available for reading from the specified serial port...
Definition: udrv_serial.h:27
void serial_fallback_handler(SERIAL_PORT port, uint8_t ch)
Let AT+BOOT and AT+ATM works in any serial mode.