Имеем
// USART transmit and receive ring buffer.
typedef struct USART_Buffer
{
// Receive buffer.
volatile uint8_t RX[USART_RX_BUFFER_SIZE];
// Transmit buffer.
volatile uint8_t TX[USART_TX_BUFFER_SIZE];
// Receive buffer head.
volatile uint8_t RX_Head;
// Receive buffer tail.
volatile uint8_t RX_Tail;
// Transmit buffer head.
volatile uint8_t TX_Head;
// Transmit buffer tail.
volatile uint8_t TX_Tail;
} USART_Buffer_t;
/* Struct used when interrupt driven driver is used.
*
* Struct containing pointer to a usart, a buffer and a location to store Data
* register interrupt level temporary.
*/
typedef struct Usart_and_buffer
{
// Pointer to USART module to use.
USART_t * usart;
// Data register empty interrupt level.
USART_DREINTLVL_t dreIntLevel;
// Data buffer.
USART_Buffer_t buffer;
} USART_data_t;
#define USART USARTC0
USART_data_t USART_data;
Как получить указатель на буфер TX