mbed library sources. Supersedes mbed-src.

Fork of mbed-dev by mbed official

Revision:
153:9398a535854b
Parent:
152:9a67f0b066fc
--- a/targets/TARGET_NUVOTON/TARGET_M451/device/StdDriver/m451_can.h	Thu Dec 15 11:48:27 2016 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,179 +0,0 @@
-/**************************************************************************//**
- * @file     can.h
- * @version  V2.00
- * $Revision: 9 $
- * $Date: 15/08/11 10:26a $
- * @brief    M451 Series CAN Driver Header File
- *
- * @note
- * Copyright (C) 2014~2015 Nuvoton Technology Corp. All rights reserved.
- *
- ******************************************************************************/
-#ifndef __CAN_H__
-#define __CAN_H__
-
-#include "M451Series.h"
-
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-
-
-/** @addtogroup Standard_Driver Standard Driver
-  @{
-*/
-
-/** @addtogroup CAN_Driver CAN Driver
-  @{
-*/
-
-/** @addtogroup CAN_EXPORTED_CONSTANTS CAN Exported Constants
-  @{
-*/
-/*---------------------------------------------------------------------------------------------------------*/
-/* CAN Test Mode Constant Definitions                                                                      */
-/*---------------------------------------------------------------------------------------------------------*/
-#define    CAN_NORMAL_MODE   0
-#define    CAN_BASIC_MODE    1
-
-/*---------------------------------------------------------------------------------------------------------*/
-/* Message ID Type Constant Definitions                                                                    */
-/*---------------------------------------------------------------------------------------------------------*/
-#define    CAN_STD_ID    0
-#define    CAN_EXT_ID    1
-
-/*---------------------------------------------------------------------------------------------------------*/
-/* Message Frame Type Constant Definitions                                                                 */
-/*---------------------------------------------------------------------------------------------------------*/
-#define    CAN_REMOTE_FRAME    0
-#define    CAN_DATA_FRAME    1
-
-/*---------------------------------------------------------------------------------------------------------*/
-/*  CAN message structure                                                                                  */
-/*---------------------------------------------------------------------------------------------------------*/
-typedef struct
-{
-    uint32_t  IdType;
-    uint32_t  FrameType;
-    uint32_t  Id;
-    uint8_t   DLC;
-    uint8_t   Data[8];
-} STR_CANMSG_T;
-
-/*---------------------------------------------------------------------------------------------------------*/
-/*  CAN mask message structure                                                                             */
-/*---------------------------------------------------------------------------------------------------------*/
-typedef struct
-{
-    uint8_t   u8Xtd;
-    uint8_t   u8Dir;
-    uint32_t  u32Id;
-    uint8_t   u8IdType;
-} STR_CANMASK_T;
-
-#define MSG(id)  (id)
-
-
-/*@}*/ /* end of group CAN_EXPORTED_CONSTANTS */
-
-
-/** @addtogroup CAN_EXPORTED_FUNCTIONS CAN Exported Functions
-  @{
-*/
-
-/**
- * @brief Get interrupt status.
- *
- * @param[in] can The base address of can module.
- *
- * @return CAN module status register value.
- *
- * @details Status Interrupt is generated by bits BOff (CAN_STATUS[7]), EWarn (CAN_STATUS[6]),
- *          EPass (CAN_STATUS[5]), RxOk (CAN_STATUS[4]), TxOk (CAN_STATUS[3]), and LEC (CAN_STATUS[2:0]).
- */
-#define CAN_GET_INT_STATUS(can) ((can)->STATUS)
-
-/**
- * @brief Get specified interrupt pending status.
- *
- * @param[in] can The base address of can module.
- *
- * @return The source of the interrupt.
- *
- * @details If several interrupts are pending, the CAN Interrupt Register will point to the pending interrupt
- *          with the highest priority, disregarding their chronological order.
- */
-#define CAN_GET_INT_PENDING_STATUS(can) ((can)->IIDR)
-
-/**
- * @brief Disable wake-up function.
- *
- * @param[in] can The base address of can module.
- *
- * @return None
- *
- * @details  The macro is used to disable wake-up function.
- */
-#define CAN_DISABLE_WAKEUP(can) ((can)->WU_EN = 0)
-
-/**
- * @brief Enable wake-up function.
- *
- * @param[in] can The base address of can module.
- *
- * @return None
- *
- * @details User can wake-up system when there is a falling edge in the CAN_Rx pin.
- */
-#define CAN_ENABLE_WAKEUP(can) ((can)->WU_EN = CAN_WUEN_WAKUP_EN_Msk)
-
-/**
- * @brief Get specified Message Object new data into bit value.
- *
- * @param[in] can The base address of can module.
- * @param[in] u32MsgNum Specified Message Object number, valid value are from 0 to 31.
- *
- * @return Specified Message Object new data into bit value.
- *
- * @details The NewDat bit (CAN_IFn_MCON[15]) of a specific Message Object can be set/reset by the software through the IFn Message Interface Registers
- *          or by the Message Handler after reception of a Data Frame or after a successful transmission.
- */
-#define CAN_GET_NEW_DATA_IN_BIT(can, u32MsgNum) ((u32MsgNum) < 16 ? (can)->NDAT1 & (1 << (u32MsgNum)) : (can)->NDAT2 & (1 << ((u32MsgNum)-16)))
-
-
-/*---------------------------------------------------------------------------------------------------------*/
-/* Define CAN functions prototype                                                                          */
-/*---------------------------------------------------------------------------------------------------------*/
-uint32_t CAN_SetBaudRate(CAN_T *tCAN, uint32_t u32BaudRate);
-uint32_t CAN_Open(CAN_T *tCAN, uint32_t u32BaudRate, uint32_t u32Mode);
-void CAN_Close(CAN_T *tCAN);
-void CAN_CLR_INT_PENDING_BIT(CAN_T *tCAN, uint8_t u32MsgNum);
-void CAN_EnableInt(CAN_T *tCAN, uint32_t u32Mask);
-void CAN_DisableInt(CAN_T *tCAN, uint32_t u32Mask);
-int32_t CAN_Transmit(CAN_T *tCAN, uint32_t u32MsgNum , STR_CANMSG_T* pCanMsg);
-int32_t CAN_Receive(CAN_T *tCAN, uint32_t u32MsgNum , STR_CANMSG_T* pCanMsg);
-int32_t CAN_SetMultiRxMsg(CAN_T *tCAN, uint32_t u32MsgNum , uint32_t u32MsgCount, uint32_t u32IDType, uint32_t u32ID);
-int32_t CAN_SetRxMsg(CAN_T *tCAN, uint32_t u32MsgNum , uint32_t u32IDType, uint32_t u32ID);
-int32_t CAN_SetRxMsgAndMsk(CAN_T *tCAN, uint32_t u32MsgNum , uint32_t u32IDType, uint32_t u32ID, uint32_t u32IDMask);
-int32_t CAN_SetTxMsg(CAN_T *tCAN, uint32_t u32MsgNum , STR_CANMSG_T* pCanMsg);
-int32_t CAN_TriggerTxMsg(CAN_T  *tCAN, uint32_t u32MsgNum);
-uint32_t CAN_GetCANBitRate(CAN_T  *tCAN);
-void CAN_EnterInitMode(CAN_T *tCAN, uint8_t u8Mask);
-void CAN_LeaveInitMode(CAN_T *tCAN);
-void CAN_EnterTestMode(CAN_T *tCAN, uint8_t u8TestMask);
-void CAN_LeaveTestMode(CAN_T *tCAN);
-
-/*@}*/ /* end of group CAN_EXPORTED_FUNCTIONS */
-
-/*@}*/ /* end of group CAN_Driver */
-
-/*@}*/ /* end of group Standard_Driver */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif //__CAN_H__
-
-/*** (C) COPYRIGHT 2014~2015 Nuvoton Technology Corp. ***/