HPM SDK
HPMicro Software Development Kit
UART component APIs

UART Lin component APIs. More...

Data Structures

struct  uart_lin_pin
 
struct  uart_lin_data_t
 
struct  uart_lin_master_config_t
 
struct  uart_lin_slave_config_t
 

Typedefs

typedef struct uart_lin_pin uart_lin_master_pin_ctrl_t
 

Enumerations

enum  uart_lin_stat_t {
  uart_lin_success = 0 , uart_lin_fail = 1 , uart_lin_invalid_argument = 2 , uart_lin_timeout = 3 ,
  uart_lin_id_parity_error = 4 , uart_lin_checksum_error = 5 , uart_lin_frame_error = 6
}
 

Functions

uint8_t hpm_uart_lin_calculate_protected_id (uint8_t id)
 calculate lin pid from id More...
 
uart_lin_stat_t hpm_uart_lin_master_send_frame (uart_lin_master_config_t *config)
 master send lin frame, including break, sync, pid, data and checksum More...
 
uart_lin_stat_t hpm_uart_lin_master_receive_frame (uart_lin_master_config_t *config)
 master receive lin frame. master send break, sync, pid, then receive data and checksum More...
 
void hpm_uart_lin_master_send_head (uart_lin_master_config_t *config)
 master send data and checksum More...
 
void hpm_uart_lin_master_send_data (uart_lin_master_config_t *config)
 master send data and checksum More...
 
uart_lin_stat_t hpm_uart_lin_master_receive_data (uart_lin_master_config_t *config)
 master receive and check data&checksum More...
 
void hpm_uart_lin_slave_send_data (uart_lin_slave_config_t *config)
 slave send data and checksum More...
 
uart_lin_stat_t hpm_uart_lin_slave_receive_data (uart_lin_slave_config_t *config)
 salve receive and check data&checksum More...
 
void hpm_uart_lin_send_wakeup (UART_Type *ptr, uart_lin_master_pin_ctrl_t *pin_ctrl)
 uart_lin send break signal More...
 

Detailed Description

UART Lin component APIs.

Typedef Documentation

◆ uart_lin_master_pin_ctrl_t

Enumeration Type Documentation

◆ uart_lin_stat_t

#include <components/uart_lin/hpm_uart_lin.h>

Enumerator
uart_lin_success 
uart_lin_fail 
uart_lin_invalid_argument 
uart_lin_timeout 
uart_lin_id_parity_error 
uart_lin_checksum_error 
uart_lin_frame_error 

Function Documentation

◆ hpm_uart_lin_calculate_protected_id()

uint8_t hpm_uart_lin_calculate_protected_id ( uint8_t  id)

#include <components/uart_lin/hpm_uart_lin.h>

calculate lin pid from id

Parameters
[in]idid value
Returns
pid pid value

◆ hpm_uart_lin_master_receive_data()

uart_lin_stat_t hpm_uart_lin_master_receive_data ( uart_lin_master_config_t config)

#include <components/uart_lin/hpm_uart_lin.h>

master receive and check data&checksum

Note
this function read data and checksum already in rx fifo
Parameters
[in]configuart_lin_master_config_t
Returns
uart_lin_stat_t uart_lin_success if receive without error

◆ hpm_uart_lin_master_receive_frame()

uart_lin_stat_t hpm_uart_lin_master_receive_frame ( uart_lin_master_config_t config)

#include <components/uart_lin/hpm_uart_lin.h>

master receive lin frame. master send break, sync, pid, then receive data and checksum

Note
this function using polling way to check uart status
Parameters
[in]configuart_lin_master_config_t
Returns
uart_lin_stat_t uart_lin_success if master receive without error

◆ hpm_uart_lin_master_send_data()

void hpm_uart_lin_master_send_data ( uart_lin_master_config_t config)

#include <components/uart_lin/hpm_uart_lin.h>

master send data and checksum

Note
this function write data and checksum into tx fifo
Parameters
[in]configuart_lin_master_config_t

◆ hpm_uart_lin_master_send_frame()

uart_lin_stat_t hpm_uart_lin_master_send_frame ( uart_lin_master_config_t config)

#include <components/uart_lin/hpm_uart_lin.h>

master send lin frame, including break, sync, pid, data and checksum

Note
this function using polling way to check uart status
Parameters
[in]configuart_lin_master_config_t
Returns
uart_lin_stat_t uart_lin_success if master send without error

◆ hpm_uart_lin_master_send_head()

void hpm_uart_lin_master_send_head ( uart_lin_master_config_t config)

#include <components/uart_lin/hpm_uart_lin.h>

master send data and checksum

Note
this function write 0x55 and pid into tx fifo
Parameters
[in]configuart_lin_master_config_t

◆ hpm_uart_lin_send_wakeup()

void hpm_uart_lin_send_wakeup ( UART_Type ptr,
uart_lin_master_pin_ctrl_t pin_ctrl 
)

#include <components/uart_lin/hpm_uart_lin.h>

uart_lin send break signal

Note
The low-level length of the wakeup signal is defined as HPM_UART_LIN_WAKEUP_LENGTH
Parameters
[in]ptrUART base address
[in]pin_ctrluart_lin_master_pin_ctrl_t

◆ hpm_uart_lin_slave_receive_data()

uart_lin_stat_t hpm_uart_lin_slave_receive_data ( uart_lin_slave_config_t config)

#include <components/uart_lin/hpm_uart_lin.h>

salve receive and check data&checksum

Note
this function read data and checksum already in rx fifo
Parameters
[in]configuart_lin_slave_config_t
Returns
uart_lin_stat_t uart_lin_success if receive without error

◆ hpm_uart_lin_slave_send_data()

void hpm_uart_lin_slave_send_data ( uart_lin_slave_config_t config)

#include <components/uart_lin/hpm_uart_lin.h>

slave send data and checksum

Note
this function write data and checksum into tx fifo
Parameters
[in]configuart_lin_slave_config_t