#ifndef USART1_H_ #define USART1_H_ //------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- #include #include "Common/IDIBUS_DEFS.h" #include #include #include "USART_COM.h" //#include //------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- volatile USART_HANDLER_TYPE USART1STR; //Do not remove volatile!!! //-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- #define USART1_BUF_SIZE IDIMMES_MAX_MES_SIZE + 1 // Buffer size volatile uint8_t USART1_RX_BUF[USART1_BUF_SIZE]; // RX buffer volatile uint8_t USART1_TX_BUF[USART1_BUF_SIZE]; // TX buffer void USART1_Init(void); //inline void USART1_IRQN_HANDLER(void); //inline void USART1_RX_TIMER_HANDLER(void); void USART1_SendTxBuf(uint16_t Count); //uint8_t USART1_IsNewRxMessage(void); //uint8_t USART1_IsRxError(void); //uint16_t USART1_getRxBufSize(void); //uint8_t *USART1_getRxBuf(void); //uint8_t *USART1_getTxBuf(void); void USART1_RxTransferRestart(void); //-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- void USART1_copyRxBuf(uint8_t *Dst, uint16_t StartPos, uint16_t Count); //#define USART1_copyRxBuf(Dst,StartPos,Count) _memcopy(&USART1_RX_BUF[StartPos],Dst,Count); // void USART1_copyRxBuf(uint8_t *Dst, uint16_t StartPos, uint16_t Count) { _memcopy(&USART1_RX_BUF[StartPos], Dst,Count); } //-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- uint8_t USART1_IsTxActive(void); //#define USART1_IsTxActive() (USART1STR.TxComplete == 1 ? 0 : 1) //uint8_t USART1_IsTxActive(void){ // if (USART1STR.TxComplete) return 0; // else return 1; //} //-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- #define USART1_IsNewRxMessage() USART1STR.RxComplete //-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- #define USART1_IsRxError() USART1STR.RxError //-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- #define USART1_getRxBufSize() USART1STR.RxBufCount //-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- #define USART1_getRxBuf() &USART1_RX_BUF[0] //-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- #define USART1_getTxBuf() &USART1_TX_BUF[0] //-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- void USART1_SetIdiBusBoudrate(enum IDIBUS_SERIAL_BAUDRATE BoudrateCode); //void USART1_RxAlarmFrameStart(void); //------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- #endif /* USART1_H_ */