MSPM0G3519SensorlessFOCMotorControlLibrary  1.0
Data Structures | Macros | Enumerations | Functions | Variables
uart_comm.h File Reference

Detailed Description

UART communication Module.


Overview

APIs for UART communication module


#include "ti_msp_dl_config.h"
#include <stdbool.h>
Include dependency graph for uart_comm.h:

Go to the source code of this file.

Data Structures

struct  BufferInfo
 Buffer info structure. More...
 
struct  UART_Instance
 UART instance. More...
 

Macros

#define PREAMBLE_BYTE   (0xFE)
 Preamble byte.
 
#define PREAMBLE_BYTE_SIZE   (0)
 Preamble byte size.
 
#define TARGET_ADDR   (0xAD)
 Target address.
 
#define BROADCAST_ADDR   (0xFF)
 Broadcast address.
 
#define START_IDX   (0)
 Start index.
 
#define START_BYTE_SIZE   (1)
 Start byte size.
 
#define FRAME_START_BYTE   (0x68)
 Frame start byte.
 
#define TARGET_ADDR_IDX   (START_IDX + START_BYTE_SIZE)
 Target address index.
 
#define TARGET_ADDR_SIZE   (1)
 Target address size.
 
#define CTRL_IDX   (TARGET_ADDR_IDX + TARGET_ADDR_SIZE)
 Control index.
 
#define CTRL_SIZE   (1)
 Control size.
 
#define CMD_MASK   (0x80)
 Control mask.
 
#define CRC_MASK   (0x40)
 CRC mask.
 
#define LEN_MASK   (0x1F)
 Length mask.
 
#define WRITE_CMD   (0x80)
 Write command.
 
#define READ_CMD   (0x00)
 Read command.
 
#define HEADER_SIZE   (START_BYTE_SIZE + TARGET_ADDR_SIZE + CTRL_SIZE)
 Header size.
 
#define MEM_ADDR_IDX   (CTRL_IDX + CTRL_SIZE)
 Memory address index.
 
#define MEM_ADDR_SIZE   (4)
 Memory address size.
 
#define MEM_ADDR_RANGE_START   (0x0)
 Memory address range start.
 
#define MEM_ADDR_RANGE_END   (0xFFFFFFFF)
 Memory address range end.
 
#define DATA_IDX   (MEM_ADDR_IDX + MEM_ADDR_SIZE)
 Data index.
 
#define MAX_DATA_SIZE   (32)
 maximum data size
 
#define ACK_WRITE   (0xAC)
 Data in Acknowledge frame.
 
#define CRC_OFFSET   (END_OFFSET + CRC_SIZE)
 CRC offset.
 
#define CRC_SIZE   (2)
 CRC size.
 
#define END_OFFSET   (1)
 End offset.
 
#define FRAME_END_BYTE   (0x16)
 Frame end byte.
 
#define END_BYTE_SIZE   (1)
 End byte size.
 
#define TRAILER_SIZE   (END_BYTE_SIZE)
 Trailer size.
 
#define MAX_BUFFER_SIZE   (HEADER_SIZE + MEM_ADDR_SIZE + MAX_DATA_SIZE + CRC_SIZE + TRAILER_SIZE)
 Maximum buffer size.
 
#define ERROR_OFFSET   (7)
 Error offset.
 
#define DMA_RX_TRANSFER_SIZE   (71)
 DMA receive transfer size.
 

Enumerations

enum  UART_Status {
  UART_STATUS_IDLE = 0,
  UART_STATUS_RX_BUFFERING,
  UART_STATUS_PROCESS_FRAME,
  UART_STATUS_TX_TRANSMITTING
}
 UART status. More...
 
enum  ErrorType {
  ERROR_NONE = 0x00,
  ERROR_MISMATCH_START_BYTE = 0xE1,
  ERROR_MISMATCH_END_BYTE = 0xE2,
  ERROR_ADDR_RANGE = 0xE3,
  ERROR_MISMATCH_CRC = 0xE4,
  ERROR_MISMATCH_TARGET_ADDR = 0xE5
}
 UART ERROR types. More...
 

Functions

void UART_init (UART_Instance *UART_handle)
 Initializes the UART module. More...
 
void UART_checkForCommand (UART_Instance *UART_handle)
 Checks the Rx Buffer for commands. More...
 
void UART_getFrameLength (UART_Instance *UART_handle)
 Decodes frame length from buffer. More...
 
void DMA_RX_init (UART_Instance *UART_handle)
 Initializes DMA to store the command in RX Buffer. More...
 

Variables

UART_InstancepUART
 Extern UART instance.
 

Enumeration Type Documentation

§ UART_Status

UART status.

Enumerator
UART_STATUS_IDLE 

UART IDLE state

UART_STATUS_RX_BUFFERING 

UART RX buffering state

UART_STATUS_PROCESS_FRAME 

UART process frame state

UART_STATUS_TX_TRANSMITTING 

UART TX transmitting state

§ ErrorType

enum ErrorType

UART ERROR types.

Enumerator
ERROR_NONE 

No error

ERROR_MISMATCH_START_BYTE 

Mismatch Start byte error

ERROR_MISMATCH_END_BYTE 

Mismatch end byte error

ERROR_ADDR_RANGE 

Error in Address range

ERROR_MISMATCH_CRC 

Mismatch CRC error

ERROR_MISMATCH_TARGET_ADDR 

Mismatch target address error

Function Documentation

§ UART_init()

void UART_init ( UART_Instance UART_handle)

§ UART_checkForCommand()

void UART_checkForCommand ( UART_Instance UART_handle)

§ UART_getFrameLength()

void UART_getFrameLength ( UART_Instance UART_handle)

§ DMA_RX_init()

void DMA_RX_init ( UART_Instance UART_handle)

Initializes DMA to store the command in RX Buffer.

Parameters
[in]UART_handlePointer to UART_Instance

References DMA_RX_TRANSFER_SIZE, and UART_Instance::rxMsg.

Referenced by UART_checkForCommand(), and UART_init().

© Copyright 1995-2025, Texas Instruments Incorporated. All rights reserved.
Trademarks | Privacy policy | Terms of use | Terms of sale