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
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_ */ |