You are viewing documentation for version:
PDFSerial hardware abstraction layer interfaces.
License#
Copyright 2020 Silicon Laboratories Inc. www.silabs.com
The licensor of this software is Silicon Laboratories Inc. Your use of this software is governed by the terms of Silicon Labs Master Software License Agreement (MSLA) available at www.silabs.com/about-us/legal/master-software-license-agreement. This software is distributed to you in Source Code format and is governed by the sections of the MSLA applicable to Source Code.
#ifndef SERIAL_H
#define SERIAL_H
#include <stdarg.h>
#include "sl_status.h"
#ifdef DOXYGEN_SHOULD_SKIP_THIS
enum SerialBaudRate
#else
#ifndef DEFINE_BAUD
#define DEFINE_BAUD(num) BAUD_##num
#endif
#ifdef CORTEXM3_EFM32_MICRO
typedef uint32_t SerialBaudRate;
#else
typedef uint8_t SerialBaudRate;
#endif
enum
#endif
#ifdef CORTEXM3_EFM32_MICRO
{
DEFINE_BAUD(300) = 300,
DEFINE_BAUD(600) = 600,
DEFINE_BAUD(900) = 900,
DEFINE_BAUD(1200) = 1200,
DEFINE_BAUD(2400) = 2400,
DEFINE_BAUD(4800) = 4800,
DEFINE_BAUD(9600) = 9600,
DEFINE_BAUD(14400) = 14400,
DEFINE_BAUD(19200) = 19200,
DEFINE_BAUD(28800) = 28800,
DEFINE_BAUD(38400) = 38400,
DEFINE_BAUD(50000) = 50000,
DEFINE_BAUD(57600) = 57600,
DEFINE_BAUD(76800) = 76800,
DEFINE_BAUD(100000) = 100000,
DEFINE_BAUD(115200) = 115200
};
#else
{
DEFINE_BAUD(300) = 0,
DEFINE_BAUD(600) = 1,
DEFINE_BAUD(900) = 2,
DEFINE_BAUD(1200) = 3,
DEFINE_BAUD(2400) = 4,
DEFINE_BAUD(4800) = 5,
DEFINE_BAUD(9600) = 6,
DEFINE_BAUD(14400) = 7,
DEFINE_BAUD(19200) = 8,
DEFINE_BAUD(28800) = 9,
DEFINE_BAUD(38400) = 10,
DEFINE_BAUD(50000) = 11,
DEFINE_BAUD(57600) = 12,
DEFINE_BAUD(76800) = 13,
DEFINE_BAUD(100000) = 14,
DEFINE_BAUD(115200) = 15,
DEFINE_BAUD(230400) = 16,
DEFINE_BAUD(460800) = 17,
DEFINE_BAUD(CUSTOM) = 18
};
#endif
#ifdef CORTEXM3_EFM32_MICRO
typedef enum COM_Port {
COM_VCP = 0,
COM_USART0 = 1,
COM_USART1 = 2,
COM_USART2 = 3,
comPortVcp = 0x10,
comPortUsart0 = 0x20,
comPortUsart1 = 0x21,
comPortUsart2 = 0x22,
comPortUsart3 = 0x23,
} COM_Port_t;
typedef uint8_t SerialParity;
#define PARITY_NONE usartNoParity
#define PARITY_ODD usartOddParity
#define PARITY_EVEN usartEvenParity
#else
#ifdef DOXYGEN_SHOULD_SKIP_THIS
enum SerialParity
#else
#ifndef DEFINE_PARITY
#define DEFINE_PARITY(val) PARITY_##val
#endif
typedef uint8_t SerialParity;
enum
#endif
{
DEFINE_PARITY(NONE) = 0U,
DEFINE_PARITY(ODD) = 1U,
DEFINE_PARITY(EVEN) = 2U
};
#endif
sl_status_t sli_legacy_serial_init(uint8_t port,
SerialBaudRate rate,
SerialParity parity,
uint8_t stopBits);
sl_status_t sli_legacy_serial_read_byte(uint8_t port, uint8_t *dataByte);
sl_status_t sl_legacy_serial_read_data(uint8_t port,
uint8_t *data,
uint16_t length,
uint16_t *bytesRead);
sl_status_t sli_legacy_serial_write_byte(uint8_t port, uint8_t dataByte);
sl_status_t sli_legacy_serial_printf(uint8_t port, const char * formatString, ...);
sl_status_t sli_legacy_serial_printf_line(uint8_t port, const char * formatString, ...);
sl_status_t sli_legacy_serial_print_carriage_return(uint8_t port);
sl_status_t sli_legacy_serial_printf_var_arg(uint8_t port, const char * formatString, va_list ap);
sl_status_t sli_legacy_serial_wait_send(uint8_t port);
sl_status_t sli_legacy_serial_guaranteed_printf(uint8_t port, const char * formatString, ...);
#endif
Enumerations#
enum
DEFINE_BAUD =(300) = 0
DEFINE_BAUD =(300) = 0
DEFINE_BAUD =(300) = 0
DEFINE_BAUD =(300) = 0
DEFINE_BAUD =(300) = 0
DEFINE_BAUD =(300) = 0
DEFINE_BAUD =(300) = 0
DEFINE_BAUD =(300) = 0
DEFINE_BAUD =(300) = 0
DEFINE_BAUD =(300) = 0
DEFINE_BAUD =(300) = 0
DEFINE_BAUD =(300) = 0
DEFINE_BAUD =(300) = 0
DEFINE_BAUD =(300) = 0
DEFINE_BAUD =(300) = 0
DEFINE_BAUD =(300) = 0
DEFINE_BAUD =(300) = 0
DEFINE_BAUD =(300) = 0
DEFINE_BAUD =(300) = 0
}
Assign numerical values for variables that hold Baud Rate parameters.
enum
DEFINE_PARITY =(NONE) = 0U
DEFINE_PARITY =(NONE) = 0U
DEFINE_PARITY =(NONE) = 0U
}
Enumeration Documentation#
SerialBaudRate#
SerialBaudRate
Assign numerical values for variables that hold Baud Rate parameters.
| Enumerator |
|---|
| DEFINE_BAUD | |
| DEFINE_BAUD | |
| DEFINE_BAUD | |
| DEFINE_BAUD | |
| DEFINE_BAUD | |
| DEFINE_BAUD | |
| DEFINE_BAUD | |
| DEFINE_BAUD | |
| DEFINE_BAUD | |
| DEFINE_BAUD | |
| DEFINE_BAUD | |
| DEFINE_BAUD | |
| DEFINE_BAUD | |
| DEFINE_BAUD | |
| DEFINE_BAUD | |
| DEFINE_BAUD | |
| DEFINE_BAUD | |
| DEFINE_BAUD | |
| DEFINE_BAUD | |
SerialParity#
SerialParity
CORTEXM3_EFM32_MICRO.
Assign numerical values for the types of parity. Use for variables that hold Parity parameters.
| Enumerator |
|---|
| DEFINE_PARITY | |
| DEFINE_PARITY | |
| DEFINE_PARITY | |
Function Documentation#
sli_legacy_serial_read_byte#
sl_status_t sli_legacy_serial_read_byte (uint8_t port, uint8_t * dataByte)
Parameters| Type | Direction | Argument Name | Description | | uint8_t | N/A | port | |
| uint8_t * | N/A | dataByte | |
sl_legacy_serial_read_data#
sl_status_t sl_legacy_serial_read_data (uint8_t port, uint8_t * data, uint16_t length, uint16_t * bytesRead)
Parameters| Type | Direction | Argument Name | Description | | uint8_t | N/A | port | |
| uint8_t * | N/A | data | |
| uint16_t | N/A | length | |
| uint16_t * | N/A | bytesRead | |
sli_legacy_serial_write_byte#
sl_status_t sli_legacy_serial_write_byte (uint8_t port, uint8_t dataByte)
Parameters| Type | Direction | Argument Name | Description | | uint8_t | N/A | port | |
| uint8_t | N/A | dataByte | |
sli_legacy_serial_printf#
sl_status_t sli_legacy_serial_printf (uint8_t port, const char * formatString, ... )
Parameters| Type | Direction | Argument Name | Description | | uint8_t | N/A | port | |
| const char * | N/A | formatString | |
| ... | N/A | | |
sli_legacy_serial_printf_line#
sl_status_t sli_legacy_serial_printf_line (uint8_t port, const char * formatString, ... )
Parameters| Type | Direction | Argument Name | Description | | uint8_t | N/A | port | |
| const char * | N/A | formatString | |
| ... | N/A | | |
sli_legacy_serial_print_carriage_return#
sl_status_t sli_legacy_serial_print_carriage_return (uint8_t port)
Parameters| Type | Direction | Argument Name | Description | | uint8_t | N/A | port | |
sli_legacy_serial_printf_var_arg#
sl_status_t sli_legacy_serial_printf_var_arg (uint8_t port, const char * formatString, va_list ap)
Parameters| Type | Direction | Argument Name | Description | | uint8_t | N/A | port | |
| const char * | N/A | formatString | |
| va_list | N/A | ap | |
sli_legacy_serial_wait_send#
sl_status_t sli_legacy_serial_wait_send (uint8_t port)
Parameters| Type | Direction | Argument Name | Description | | uint8_t | N/A | port | |
sli_legacy_serial_guaranteed_printf#
sl_status_t sli_legacy_serial_guaranteed_printf (uint8_t port, const char * formatString, ... )
Parameters| Type | Direction | Argument Name | Description | | uint8_t | N/A | port | |
| const char * | N/A | formatString | |
| ... | N/A | | |