RabbitECUTeensyMCUXpresso/source/Peripherals/UARTHA.h

75 lines
3.2 KiB
C

/******************************************************************************/
/* Copyright (c) 2016 MD Automotive Controls. Original Work. */
/* License: http://www.gnu.org/licenses/gpl.html GPL version 2 or higher */
/******************************************************************************/
/* CONTEXT:KERNEL */
/* PACKAGE TITLE: UARTHA Header File */
/* DESCRIPTION: UART Hardware Adaption */
/* FILE NAME: UART.h */
/* REVISION HISTORY: 19-08-2016 | 1.0 | Initial revision */
/* */
/******************************************************************************/
#ifndef UARTHA_H
#define UARTHA_H
#if defined(BUILD_MK60)
#include "mk60f12.h"
typedef UART_Type tstUARTModule;
#endif //BUILD_MK60
#if defined(BUILD_MK64)
#include "mk64f12.h"
typedef UART_Type tstUARTModule;
#endif //BUILD_MK64
#ifdef BUILD_SAM3X8E
//#include "sam3x8e.h"
typedef struct Uart tstUARTModule;
#endif
#ifdef BUILD_MK60
#define UARTHA_nDataCB \
{ \
{SYS_FREQ_CORE, SIM_SCGC4, SIM_SCGC4_UART0_MASK, UART0, UART0_RX_TX_IRQn}, \
{SYS_FREQ_BUS, SIM_SCGC4, SIM_SCGC4_UART1_MASK, UART1, UART1_RX_TX_IRQn}, \
{SYS_FREQ_BUS, SIM_SCGC4, SIM_SCGC4_UART2_MASK, UART2, UART2_RX_TX_IRQn}, \
{SYS_FREQ_BUS, SIM_SCGC4, SIM_SCGC4_UART3_MASK, UART3, UART3_RX_TX_IRQn}, \
{SYS_FREQ_BUS, SIM_SCGC1, SIM_SCGC1_UART4_MASK, UART4, UART4_RX_TX_IRQn}, \
{SYS_FREQ_BUS, SIM_SCGC1, SIM_SCGC1_UART5_MASK, UART5, UART5_RX_TX_IRQn} \
}
#endif
#ifdef BUILD_MK64
#define UARTHA_nDataCB \
{ \
{SYS_FREQ_CORE, SIM_SCGC4, SIM_SCGC4_UART0_MASK, UART0, UART0_RX_TX_IRQn}, \
{SYS_FREQ_BUS, SIM_SCGC4, SIM_SCGC4_UART1_MASK, UART1, UART1_RX_TX_IRQn}, \
{SYS_FREQ_BUS, SIM_SCGC4, SIM_SCGC4_UART2_MASK, UART2, UART2_RX_TX_IRQn}, \
{SYS_FREQ_BUS, SIM_SCGC4, SIM_SCGC4_UART3_MASK, UART3, UART3_RX_TX_IRQn}, \
{SYS_FREQ_BUS, SIM_SCGC1, SIM_SCGC1_UART4_MASK, UART4, UART4_RX_TX_IRQn}, \
{SYS_FREQ_BUS, SIM_SCGC1, SIM_SCGC1_UART5_MASK, UART5, UART5_RX_TX_IRQn} \
}
#endif //BUILD_MK64
#ifdef BUILD_SAM3X8E
#define UARTHA_nDataCB \
{ \
{0, 0, 0, 0, 0} \
}
#endif //BUILD_SAM3X8E
void UARTHA_vStart(uint32* const);
void UARTHA_vRun(uint32* const);
void UARTHA_vTerminate(uint32* const);
SYSAPI_tenSVCResult UARTHA_enInitBus(IOAPI_tenEHIOResource, IOAPI_tstPortConfigCB*);
void UARTHA_vSendChar(IOAPI_tenEHIOResource, uint8);
uint8 UARTHA_u8GetChar(IOAPI_tenEHIOResource);
void UARTHA_vDisableTXInterrupt(IOAPI_tenEHIOResource);
void UARTHA_vEnableTXInterrupt(IOAPI_tenEHIOResource);
void UARTHA_vDisableRXInterrupt(IOAPI_tenEHIOResource);
void UARTHA_vEnableRXInterrupt(IOAPI_tenEHIOResource);
#endif //UARTHA_H