//================================================================== // // Filename: app_uart2.h // Description: // //------------------------------------------------------------------ // // version: // data: 20:43pm, 07.Jan.2014, written by Charlie // Description: // //------------------------------------------------------------------ //================================================================== #ifndef _MAPP_UART1_H_ #define _MAPP_UART1_H_ /*------------------------------------------------------------------------------ * I N C L U D E *------------------------------------------------------------------------------*/ #include "stm32f0xx.h" #include "general.h" /*------------------------------------------------------------------------------ * D E F I N E *------------------------------------------------------------------------------*/ #define COM_NO_ERR 0 /* Function call was successful */ #define COM_BAD_CH 1 /* Invalid communications port channel */ #define COM_RX_EMPTY 2 /* Rx buffer is empty, no character available */ #define COM_TX_FULL 3 /* Tx buffer is full, could not deposit character */ #define COM_TX_EMPTY 4 /* If the Tx buffer is empty. */ #define COM_RX_TIMEOUT 5 /* If a timeout occurred while waiting for a character*/ #define COM_TX_TIMEOUT 6 /* If a timeout occurred while waiting to send a char.*/ /*---------------------- ** COM2 buffer size -----------------------*/ #define UART1_RX_PAGE 20 #define UART1_RX_BUF_SIZE 32 /* Number of characters in Rx ring buffer */ #define UART1_RX_BUF_MAXSIZE 40 /* Number of characters in Rx ring buffer */ #define UART1_TX_BUF_SIZE 250 /* Number of characters in Tx ring buffer */ /*------------------------------------------------------------------------------ * S T R U C T *------------------------------------------------------------------------------*/ /*--- USART1 communicate data struct ---*/ typedef struct { U08 RxInPag; /* Number of page for next Rx In frame */ U08 RxOutPag; /* Number of page for next Rx Out frame */ U08 RxLen; /* Frame length */ U08 RxCnt; /* Max number of Rx characters for a data frame */ U08 BufRx[UART1_RX_PAGE][UART1_RX_BUF_SIZE]; /* Ring buffer character storage (Rx) */ U08 TxCtr; /* Number of characters in the Tx ring buffer */ U08 TxEnque; /* Input data index to tx buffer */ U08 TxDeque; /* Output data index from tx buffer */ U08 BufTx[UART1_TX_BUF_SIZE]; /* Ring buffer character storage (Tx) */ } T_COM_UART1; /*------------------------------------------------------------------------------ * E X T E R N *------------------------------------------------------------------------------*/ extern T_COM_UART1 s_tUart1Cfg; /*------------------------------------------------------------------------------ * P R O T O T Y P E *------------------------------------------------------------------------------*/ void Uart1VarInit(void); void Uart1CfgInit(void); void Uart1CfgDisable(void); void Uart1ISRHandler(void); void Uart1GetChar(U08 *rbuf ,U16 to, U08 *err); U08 Uart1PutChar(U08 *c, U08 len); #endif /* _MAPP_UART1_H_ */ /*------------------------------- E O F ----------------------------------------*/