This commit is contained in:
2023-03-03 16:11:29 +01:00
parent 8d56267f66
commit 87aa31868a
13 changed files with 176 additions and 120 deletions

View File

@@ -70,6 +70,8 @@ volatile eusart1_status_t eusart1RxLastError;
/**
Section: EUSART1 APIs
*/
void (*EUSART1_RxDefaultInterruptHandler)(void);
void (*EUSART1_FramingErrorHandler)(void);
void (*EUSART1_OverrunErrorHandler)(void);
void (*EUSART1_ErrorHandler)(void);
@@ -91,8 +93,8 @@ void EUSART1_Initialize(void)
// SPEN enabled; RX9 9-bit; CREN enabled; ADDEN disabled; SREN disabled;
RCSTA1 = 0xD0;
// TX9 9-bit; TX9D 0; SENDB sync_break_complete; TXEN enabled; SYNC synchronous; BRGH hi_speed; CSRC master_mode;
TXSTA1 = 0xF4;
// TX9 9-bit; TX9D 0; SENDB sync_break_complete; TXEN enabled; SYNC asynchronous; BRGH hi_speed; CSRC master_mode;
TXSTA1 = 0xE4;
//
SPBRG1 = 0x8A;
@@ -138,12 +140,11 @@ eusart1_status_t EUSART1_get_last_status(void){
uint8_t EUSART1_Read(void)
{
uint8_t readValue = 0;
RCSTA1bits.SREN = 1;
while(0 == eusart1RxCount)
{
}
eusart1RxLastError = eusart1RxStatusBuffer[eusart1RxTail];
readValue = eusart1RxBuffer[eusart1RxTail++];
@@ -160,8 +161,6 @@ uint8_t EUSART1_Read(void)
void EUSART1_Write(uint8_t txData)
{
RCSTA1bits.SREN = 0;
RCSTA1bits.CREN = 0;
while(0 == PIR1bits.TX1IF)
{
}
@@ -169,6 +168,8 @@ void EUSART1_Write(uint8_t txData)
TXREG1 = txData; // Write the data byte to the USART.
}
void EUSART1_Receive_ISR(void)
{
@@ -178,7 +179,7 @@ void EUSART1_Receive_ISR(void)
eusart1RxStatusBuffer[eusart1RxHead].ferr = 1;
EUSART1_FramingErrorHandler();
}
if(RCSTA1bits.OERR){
eusart1RxStatusBuffer[eusart1RxHead].oerr = 1;
EUSART1_OverrunErrorHandler();
@@ -190,7 +191,7 @@ void EUSART1_Receive_ISR(void)
EUSART1_RxDataHandler();
}
// or set custom function using eusart1_SetRxInterruptHandler()
// or set custom function using EUSART1_SetRxInterruptHandler()
}
void EUSART1_RxDataHandler(void){
@@ -201,7 +202,6 @@ void EUSART1_RxDataHandler(void){
eusart1RxHead = 0;
}
eusart1RxCount++;
}
void EUSART1_DefaultFramingErrorHandler(void){}