35 lines
1.3 KiB
C
35 lines
1.3 KiB
C
/******************************************************************************
|
|
* File: MCU_UART_priv.h
|
|
* Component: MCU_UART
|
|
* Description: Private header — control struct and extern config array.
|
|
*
|
|
* Layer: MCU (hardware abstraction) - internal use only
|
|
*****************************************************************************/
|
|
|
|
#ifndef MCU_UART_PRIV_H
|
|
#define MCU_UART_PRIV_H
|
|
|
|
#include "MCU_UART.h"
|
|
#include "MCU_UART_cfg.h"
|
|
|
|
extern const MCU_UART_tstrConfig MCU_UART_astrConfig[MCU_UART_NUM_INSTANCES];
|
|
|
|
typedef struct
|
|
{
|
|
/* TX state */
|
|
const u8 *apu8TxBuffer[MCU_UART_NUM_INSTANCES];
|
|
u16 au16TxLength[MCU_UART_NUM_INSTANCES];
|
|
u16 au16TxIndex[MCU_UART_NUM_INSTANCES];
|
|
STD_tBool abTxBusy[MCU_UART_NUM_INSTANCES];
|
|
s8 as8TxDmaChannel[MCU_UART_NUM_INSTANCES];
|
|
|
|
/* RX ring buffer — filled by ISR or DMA in the background */
|
|
u8 aau8RxBuffer[MCU_UART_NUM_INSTANCES][MCU_UART_RX_BUFFER_SIZE]
|
|
__attribute__((aligned(MCU_UART_RX_BUFFER_SIZE)));
|
|
u16 au16RxHead[MCU_UART_NUM_INSTANCES];
|
|
u16 au16RxTail[MCU_UART_NUM_INSTANCES];
|
|
s8 as8RxDmaChannel[MCU_UART_NUM_INSTANCES];
|
|
} MCU_UART_tstrControl;
|
|
|
|
#endif /* MCU_UART_PRIV_H */
|