Azure Sphere MT3620 M4 API Reference Manual
 All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages
Function

This section provides high level APIs to upper layer. More...

Overview

This section provides high level APIs to upper layer.

Functions

int mtk_os_hal_uart_ctlr_init (UART_PORT port_num)
 Init UART controller. More...
 
int mtk_os_hal_uart_ctlr_deinit (UART_PORT port_num)
 Deinit UART controller. More...
 
void mtk_os_hal_uart_dumpreg (UART_PORT port_num)
 Dump UART register. More...
 
void mtk_os_hal_uart_set_baudrate (UART_PORT port_num, u32 baudrate)
 Set UART Baudrate. More...
 
void mtk_os_hal_uart_set_format (UART_PORT port_num, mhal_uart_data_len data_bit, mhal_uart_parity parity, mhal_uart_stop_bit stop_bit)
 Set UART data format. More...
 
u8 mtk_os_hal_uart_get_char (UART_PORT port_num)
 Get UART one byte of data in PIO mode. More...
 
u8 mtk_os_hal_uart_get_char_nowait (UART_PORT port_num)
 Get UART one byte of data directly in PIO mode. More...
 
void mtk_os_hal_uart_put_char (UART_PORT port_num, u8 data)
 Send UART one byte of data in PIO mode. More...
 
void mtk_os_hal_uart_set_hw_fc (UART_PORT port_num, u8 hw_fc)
 Set UART hardware flow control. More...
 
void mtk_os_hal_uart_disable_sw_fc (UART_PORT port_num)
 Disable UART software flow control. More...
 
void mtk_os_hal_uart_set_sw_fc (UART_PORT port_num, u8 xon1, u8 xoff1, u8 xon2, u8 xoff2, u8 escape_data)
 Set UART software flow control. More...
 
int mtk_os_hal_uart_clear_irq_status (UART_PORT port_num)
 Get and clear UART interrupt. More...
 
void mtk_os_hal_uart_set_irq (UART_PORT port_num, u8 irq_flag)
 Set UART IRQ. More...
 
int mtk_os_hal_uart_dma_send_data (UART_PORT port_num, u8 *data, u32 len, bool vff_mode, u32 timeout)
 Send UART data in DMA mode. More...
 
int mtk_os_hal_uart_dma_get_data (UART_PORT port_num, u8 *data, u32 len, bool vff_mode, u32 timeout)
 Get UART data in DMA mode. More...
 

Function Documentation

int mtk_os_hal_uart_ctlr_init ( UART_PORT  port_num)

Init UART controller.

Parameters
[in]bus_num: UART Port number, it can be OS_HAL_UART_PORT0~OS_HAL_UART_ISU4.
Returns
-UART_EPTR means fail.
0 means success.
int mtk_os_hal_uart_ctlr_deinit ( UART_PORT  port_num)

Deinit UART controller.

Parameters
[in]bus_num: UART Port number, it can be OS_HAL_UART_PORT0~OS_HAL_UART_ISU4.
Returns
-UART_EPTR means fail.
0 means success.
void mtk_os_hal_uart_dumpreg ( UART_PORT  port_num)

Dump UART register.

Parameters
[in]bus_num: UART Port number, it can be OS_HAL_UART_PORT0~OS_HAL_UART_ISU4.
Returns
None.
void mtk_os_hal_uart_set_baudrate ( UART_PORT  port_num,
u32  baudrate 
)

Set UART Baudrate.

Parameters
[in]bus_num: UART Port number, it can be OS_HAL_UART_PORT0~OS_HAL_UART_ISU4.
[in]baudrate: UART Baudrate, it can be 300~3K.
Returns
None.
void mtk_os_hal_uart_set_format ( UART_PORT  port_num,
mhal_uart_data_len  data_bit,
mhal_uart_parity  parity,
mhal_uart_stop_bit  stop_bit 
)

Set UART data format.

Parameters
[in]bus_num: UART Port number, it can be OS_HAL_UART_PORT0~OS_HAL_UART_ISU4.
[in]data_bit: UART data length.
[in]parity: UART parity information.
[in]stop_bit: UART stop_bit length.
Returns
None.
u8 mtk_os_hal_uart_get_char ( UART_PORT  port_num)

Get UART one byte of data in PIO mode.

Parameters
[in]bus_num: UART Port number, it can be OS_HAL_UART_PORT0~OS_HAL_UART_ISU4
Returns
received data.
u8 mtk_os_hal_uart_get_char_nowait ( UART_PORT  port_num)

Get UART one byte of data directly in PIO mode.

Parameters
[in]bus_num: UART Port number, it can be OS_HAL_UART_PORT0~OS_HAL_UART_ISU4
Returns
received data.
void mtk_os_hal_uart_put_char ( UART_PORT  port_num,
u8  data 
)

Send UART one byte of data in PIO mode.

Parameters
[in]bus_num: UART Port number, it can be OS_HAL_UART_PORT0~OS_HAL_UART_ISU4
Returns
None.
void mtk_os_hal_uart_set_hw_fc ( UART_PORT  port_num,
u8  hw_fc 
)

Set UART hardware flow control.

Parameters
[in]bus_num: UART Port number, it can be OS_HAL_UART_PORT0~OS_HAL_UART_ISU4
[in]hw_fc: Hardware flow control feature, please refer to UART_EFR_HW_FC_XXX type definition
Returns
None.
void mtk_os_hal_uart_disable_sw_fc ( UART_PORT  port_num)

Disable UART software flow control.

Parameters
[in]bus_num: UART Port number, it can be OS_HAL_UART_PORT0~OS_HAL_UART_ISU4
Returns
None.
void mtk_os_hal_uart_set_sw_fc ( UART_PORT  port_num,
u8  xon1,
u8  xoff1,
u8  xon2,
u8  xoff2,
u8  escape_data 
)

Set UART software flow control.

Parameters
[in]bus_num: UART Port number, it can be OS_HAL_UART_PORT0~OS_HAL_UART_ISU4
[in]xon1: XON1 character for software flow control.
[in]xoff1: XOFF1 character for software flow control.
[in]xon2: XON2 character for software flow control.
[in]xoff2: XOFF2 character for software flow control.
[in]escape_data: Escape character for software flow control.
Returns
None.
int mtk_os_hal_uart_clear_irq_status ( UART_PORT  port_num)

Get and clear UART interrupt.

Parameters
[in]bus_num: UART Port number, it can be OS_HAL_UART_PORT0~OS_HAL_UART_ISU4.
Returns
None.
void mtk_os_hal_uart_set_irq ( UART_PORT  port_num,
u8  irq_flag 
)

Set UART IRQ.

Parameters
[in]bus_num: UART Port number, it can be OS_HAL_UART_PORT0~OS_HAL_UART_ISU4.
[in]irq_flag: UART IRQ type, please refer to UART_INT_XXX type definition.
Returns
None.
int mtk_os_hal_uart_dma_send_data ( UART_PORT  port_num,
u8 *  data,
u32  len,
bool  vff_mode,
u32  timeout 
)

Send UART data in DMA mode.

This function will return when : "Error detected" or "timeout" or "TX DMA completed".

Parameters
[in]bus_num: UART Port number, it can be OS_HAL_UART_PORT0~OS_HAL_UART_ISU4.
[in]data: Pointer to the data.
[in]len: Data length.
[in]vff_mode: true: VFF Mode; false: Half-Size Mode.
[in]timeout: transfer timeout in ms.
Returns
Number of bytes have been send.
int mtk_os_hal_uart_dma_get_data ( UART_PORT  port_num,
u8 *  data,
u32  len,
bool  vff_mode,
u32  timeout 
)

Get UART data in DMA mode.

This function will return when : "Error detected" or "timeout" or "RX DMA completed".

Parameters
[in]bus_num: UART Port number, it can be OS_HAL_UART_PORT0~OS_HAL_UART_ISU4.
[in]data: Pointer to the data.
[in]len: Data length.
[in]vff_mode: true: VFF Mode; false: Half-Size Mode.
[in]timeout: transfer timeout in ms.
Returns
Number of bytes have been received.