Solar panel
Loading...
Searching...
No Matches
eusart1.c File Reference
#include "eusart1.h"

Go to the source code of this file.

Macros

#define EUSART1_TX_BUFFER_SIZE   8
 
#define EUSART1_RX_BUFFER_SIZE   8
 

Functions

void EUSART1_DefaultFramingErrorHandler (void)
 
void EUSART1_DefaultOverrunErrorHandler (void)
 
void EUSART1_DefaultErrorHandler (void)
 
void EUSART1_Initialize (void)
 
bool EUSART1_is_tx_ready (void)
 
bool EUSART1_is_rx_ready (void)
 
bool EUSART1_is_tx_done (void)
 
eusart1_status_t EUSART1_get_last_status (void)
 
uint8_t EUSART1_Read (void)
 
void EUSART1_Write (uint8_t txData)
 
void EUSART1_Receive_ISR (void)
 
void EUSART1_RxDataHandler (void)
 
void EUSART1_SetFramingErrorHandler (void(*interruptHandler)(void))
 
void EUSART1_SetOverrunErrorHandler (void(*interruptHandler)(void))
 
void EUSART1_SetErrorHandler (void(*interruptHandler)(void))
 
void EUSART1_SetRxInterruptHandler (void(*interruptHandler)(void))
 

Variables

volatile uint8_t eusart1RxHead = 0
 
volatile uint8_t eusart1RxTail = 0
 
volatile uint8_t eusart1RxBuffer [EUSART1_RX_BUFFER_SIZE]
 
volatile eusart1_status_t eusart1RxStatusBuffer [EUSART1_RX_BUFFER_SIZE]
 
volatile uint8_t eusart1RxCount
 
volatile eusart1_status_t eusart1RxLastError
 
void(* EUSART1_RxDefaultInterruptHandler )(void)
 
void(* EUSART1_FramingErrorHandler )(void)
 
void(* EUSART1_OverrunErrorHandler )(void)
 
void(* EUSART1_ErrorHandler )(void)
 

Macro Definition Documentation

◆ EUSART1_RX_BUFFER_SIZE

#define EUSART1_RX_BUFFER_SIZE   8

Definition at line 57 of file eusart1.c.

◆ EUSART1_TX_BUFFER_SIZE

#define EUSART1_TX_BUFFER_SIZE   8

EUSART1 Generated Driver File

@Company Microchip Technology Inc.

@File Name eusart1.c

@Summary This is the generated driver implementation file for the EUSART1 driver using PIC10 / PIC12 / PIC16 / PIC18 MCUs

@Description This source file provides APIs for EUSART1. Generation Information : Product Revision : PIC10 / PIC12 / PIC16 / PIC18 MCUs - 1.81.8 Device : PIC18F97J60 Driver Version : 2.1.1 The generated drivers are tested against the following: Compiler : XC8 2.36 and above MPLAB : MPLAB X 6.00 Section: Included Files Section: Macro Declarations

Definition at line 56 of file eusart1.c.

Function Documentation

◆ EUSART1_DefaultErrorHandler()

void EUSART1_DefaultErrorHandler ( void  )

Definition at line 217 of file eusart1.c.

◆ EUSART1_DefaultFramingErrorHandler()

void EUSART1_DefaultFramingErrorHandler ( void  )

Definition at line 207 of file eusart1.c.

◆ EUSART1_DefaultOverrunErrorHandler()

void EUSART1_DefaultOverrunErrorHandler ( void  )

Definition at line 209 of file eusart1.c.

◆ EUSART1_get_last_status()

eusart1_status_t EUSART1_get_last_status ( void  )

@Summary Gets the error status of the last read byte.

@Description This routine gets the error status of the last read byte.

@Preconditions EUSART1_Initialize() function should have been called before calling this function. The returned value is only updated after a read is called.

@Param None

@Returns the status of the last read byte

@Example void main(void) { volatile uint8_t rxData; volatile eusart1_status_t rxStatus;

Initialize the device SYSTEM_Initialize();

Enable the Global Interrupts INTERRUPT_GlobalInterruptEnable();

while(1) { Logic to echo received data if(EUSART1_is_rx_ready()) { rxData = EUSART1_Read(); rxStatus = EUSART1_get_last_status(); if(rxStatus.ferr){ LED_0_SetHigh(); } } } }

Definition at line 136 of file eusart1.c.

◆ EUSART1_Initialize()

void EUSART1_Initialize ( void  )

@Summary Initialization routine that takes inputs from the EUSART1 GUI.

@Description This routine initializes the EUSART1 driver. This routine must be called before any other EUSART1 routine is called.

@Preconditions None

@Param None

@Returns None

@Comment

Definition at line 83 of file eusart1.c.

◆ EUSART1_is_rx_ready()

bool EUSART1_is_rx_ready ( void  )

@Summary Checks if the EUSART1 receiver ready for reading

@Description This routine checks if EUSART1 receiver has received data and ready to be read

@Preconditions EUSART1_Initialize() function should be called before calling this function EUSART1 receiver should be enabled before calling this function

@Param None

@Returns Status of EUSART1 receiver TRUE: EUSART1 receiver is ready for reading FALSE: EUSART1 receiver is not ready for reading

@Example void main(void) { volatile uint8_t rxData;

Initialize the device SYSTEM_Initialize();

while(1) { Logic to echo received data if(EUSART1_is_rx_ready()) { rxData = UART1_Read(); if(EUSART1_is_tx_ready()) { EUSART1_Write(rxData); } } } }

Definition at line 126 of file eusart1.c.

◆ EUSART1_is_tx_done()

bool EUSART1_is_tx_done ( void  )

@Summary Checks if EUSART1 data is transmitted

@Description This function return the status of transmit shift register

@Preconditions EUSART1_Initialize() function should be called before calling this function EUSART1 transmitter should be enabled and EUSART1_Write should be called before calling this function

@Param None

@Returns Status of EUSART1 receiver TRUE: Data completely shifted out if the USART shift register FALSE: Data is not completely shifted out of the shift register

@Example void main(void) { volatile uint8_t rxData;

Initialize the device SYSTEM_Initialize();

while(1) { if(EUSART1_is_tx_ready()) { LED_0_SetHigh(); EUSART1Write(rxData); } if(EUSART1_is_tx_done() { LED_0_SetLow(); } } }

Definition at line 131 of file eusart1.c.

◆ EUSART1_is_tx_ready()

bool EUSART1_is_tx_ready ( void  )

@Summary Checks if the EUSART1 transmitter is ready to transmit data

@Description This routine checks if EUSART1 transmitter is ready to accept and transmit data byte

@Preconditions EUSART1_Initialize() function should have been called before calling this function. EUSART1 transmitter should be enabled before calling this function

@Param None

@Returns Status of EUSART1 transmitter TRUE: EUSART1 transmitter is ready FALSE: EUSART1 transmitter is not ready

@Example void main(void) { volatile uint8_t rxData;

Initialize the device SYSTEM_Initialize();

while(1) { Logic to echo received data if(EUSART1_is_rx_ready()) { rxData = UART1_Read(); if(EUSART1_is_tx_ready()) { EUSART1Write(rxData); } } } }

Definition at line 121 of file eusart1.c.

◆ EUSART1_Read()

uint8_t EUSART1_Read ( void  )

@Summary Read a byte of data from the EUSART1.

@Description This routine reads a byte of data from the EUSART1.

@Preconditions EUSART1_Initialize() function should have been called before calling this function. The transfer status should be checked to see if the receiver is not empty before calling this function.

@Param None

@Returns A data byte received by the driver.

Definition at line 140 of file eusart1.c.

◆ EUSART1_Receive_ISR()

void EUSART1_Receive_ISR ( void  )

@Summary Maintains the driver's receiver state machine and implements its ISR

@Description This routine is used to maintain the driver's internal receiver state machine.This interrupt service routine is called when the state of the receiver needs to be maintained in a non polled manner.

@Preconditions EUSART1_Initialize() function should have been called for the ISR to execute correctly.

@Param None

@Returns None

Definition at line 173 of file eusart1.c.

◆ EUSART1_RxDataHandler()

void EUSART1_RxDataHandler ( void  )

@Summary Maintains the driver's receiver state machine

@Description This routine is called by the receive state routine and is used to maintain the driver's internal receiver state machine. It should be called by a custom ISR to maintain normal behavior

@Preconditions EUSART1_Initialize() function should have been called for the ISR to execute correctly.

@Param None

@Returns None

Definition at line 197 of file eusart1.c.

◆ EUSART1_SetErrorHandler()

void EUSART1_SetErrorHandler ( void(*)(void)  interruptHandler)

@Summary Set EUSART1 Error Handler

@Description This API sets the function to be called upon EUSART1 error

@Preconditions Initialize the EUSART1 module before calling this API

@Param Address of function to be set as error handler

@Returns None

Definition at line 229 of file eusart1.c.

◆ EUSART1_SetFramingErrorHandler()

void EUSART1_SetFramingErrorHandler ( void(*)(void)  interruptHandler)

@Summary Set EUSART1 Framing Error Handler

@Description This API sets the function to be called upon EUSART1 framing error

@Preconditions Initialize the EUSART1 before calling this API

@Param Address of function to be set as framing error handler

@Returns None

Definition at line 221 of file eusart1.c.

◆ EUSART1_SetOverrunErrorHandler()

void EUSART1_SetOverrunErrorHandler ( void(*)(void)  interruptHandler)

@Summary Set EUSART1 Overrun Error Handler

@Description This API sets the function to be called upon EUSART1 overrun error

@Preconditions Initialize the EUSART1 module before calling this API

@Param Address of function to be set as overrun error handler

@Returns None

Definition at line 225 of file eusart1.c.

◆ EUSART1_SetRxInterruptHandler()

void EUSART1_SetRxInterruptHandler ( void(*)(void)  interruptHandler)

@Summary Sets the receive handler function to be called by the interrupt service

@Description Calling this function will set a new custom function that will be called when the receive interrupt needs servicing.

@Preconditions EUSART1_Initialize() function should have been called for the ISR to execute correctly.

@Param A pointer to the new function

@Returns None

Definition at line 234 of file eusart1.c.

◆ EUSART1_Write()

void EUSART1_Write ( uint8_t  txData)

@Summary Writes a byte of data to the EUSART1.

@Description This routine writes a byte of data to the EUSART1.

@Preconditions EUSART1_Initialize() function should have been called before calling this function. The transfer status should be checked to see if transmitter is not busy before calling this function.

@Param txData - Data byte to write to the EUSART1

@Returns None

Definition at line 162 of file eusart1.c.

Variable Documentation

◆ EUSART1_ErrorHandler

void(* EUSART1_ErrorHandler) (void) ( void  )

Definition at line 77 of file eusart1.c.

◆ EUSART1_FramingErrorHandler

void(* EUSART1_FramingErrorHandler) (void) ( void  )

Definition at line 75 of file eusart1.c.

◆ EUSART1_OverrunErrorHandler

void(* EUSART1_OverrunErrorHandler) (void) ( void  )

Definition at line 76 of file eusart1.c.

◆ EUSART1_RxDefaultInterruptHandler

void(* EUSART1_RxDefaultInterruptHandler) (void) ( void  )

Section: EUSART1 APIs

Definition at line 73 of file eusart1.c.

◆ eusart1RxBuffer

volatile uint8_t eusart1RxBuffer[EUSART1_RX_BUFFER_SIZE]

Definition at line 65 of file eusart1.c.

◆ eusart1RxCount

volatile uint8_t eusart1RxCount

Definition at line 67 of file eusart1.c.

◆ eusart1RxHead

volatile uint8_t eusart1RxHead = 0

Section: Global Variables

Definition at line 63 of file eusart1.c.

◆ eusart1RxLastError

volatile eusart1_status_t eusart1RxLastError

Definition at line 68 of file eusart1.c.

◆ eusart1RxStatusBuffer

volatile eusart1_status_t eusart1RxStatusBuffer[EUSART1_RX_BUFFER_SIZE]

Definition at line 66 of file eusart1.c.

◆ eusart1RxTail

volatile uint8_t eusart1RxTail = 0

Definition at line 64 of file eusart1.c.