You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

37 lines
3.2 KiB

#ifndef USART1_H_
#define USART1_H_
//-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
#include <inttypes.h>
#include "IDIBUS_DEFS.h"
#include <avr/io.h>
#include <avr/interrupt.h>
#include "USART_COM.h"
#define USART1_BUF_SIZE IDIMMES_MAX_MES_SIZE + 1 // Buffer size
//-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
extern volatile USART_HANDLER_TYPE USART1STR; //Do not remove volatile!!!
extern volatile uint8_t USART1_RX_BUF[]; // RX buffer
extern volatile uint8_t USART1_TX_BUF[]; // TX buffer
void USART1_Init(void);
void USART1_SendTxBuf(uint16_t Count);
//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
void USART1_RxTransferRestart(void);
//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
void USART1_copyRxBuf(uint8_t *Dst, uint16_t StartPos, uint16_t Count);
//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
#define USART1_IsTxActive() !USART1STR.TxComplete
//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
#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);
//-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
#endif /* USART1_H_ */