/** ****************************************************************************** * @file eeprom.h * @author Vincent * @version V1.0.0 * @date 23-12-2015 * @brief AT24C02 eeprom read and write function. ****************************************************************************** * @attention * *

© COPYRIGHT(c) 2015 STMicroelectronics

* * Redistribution and use in source and binary forms, with or without modification, * are permitted provided that the following conditions are met: * 1. Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * 3. Neither the name of STMicroelectronics nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * ****************************************************************************** */ /* Define to prevent recursive inclusion -------------------------------------*/ #ifndef __CAN_DRIVER_H #define __CAN_DRIVER_H /* Includes ------------------------------------------------------------------*/ #include "ti_msp_dl_config.h" #include /* Public Function declare---------------------------------------------------*/ /* Define to variables declare---------------------------------------------------*/ #define CAN_EXT extern typedef int8_t CD_INT8; typedef int16_t CD_INT16; typedef int32_t CD_INT32; typedef int64_t CD_INT64; /* exact-width unsigned integer types */ typedef uint8_t CD_UINT8; typedef uint16_t CD_UINT16; typedef uint32_t CD_UINT32; typedef uint64_t CD_UINT64; typedef struct { CD_UINT16 ID; CD_UINT16 ucBufSize; CD_UINT16 ucBufWrInde; CD_UINT16 ucBufRdInde; CD_UINT16 ucBufCnt; CD_UINT8 ucBufOvf; CD_UINT8 * pcBufAddr; CD_UINT8 ucCANEnable; } CAN_Buf_TypeDef; /* Public variables declare---------------------------------------------------*/ #define CAN_RxBufSize1 256 #if CAN_RxBufSize1 != 0 extern CD_UINT8 CAN_RxBuf1[CAN_RxBufSize1]; extern CAN_Buf_TypeDef CAN_RxBuf_Struct1; #endif CAN_EXT DL_MCAN_RxBufElement stRxMessage1; CAN_EXT DL_MCAN_RxBufElement *pRxMsg; CAN_EXT DL_MCAN_TxBufElement stTxMessage1; CAN_EXT DL_MCAN_TxBufElement *pTxMsg; CAN_EXT uint8_t can_ubMbox; /*Private function declare---------------------------------------------------*/ uint32_t CRC32_Calculate(uint8_t *pData, uint16_t Length); CD_UINT8 cd_GetChar(CAN_Buf_TypeDef * ptCANRx); CD_UINT8 cd_ReadChar(CAN_Buf_TypeDef * ptCANRx, CD_UINT16 uwNum); void cd_DelChar(CAN_Buf_TypeDef * ptRx, CD_UINT16 uwNum); void cd_PutChar(CAN_Buf_TypeDef*ptCANTx,CD_UINT8 data); int cd_SentMsg(DL_MCAN_TxBufElement * pCANTxMsg, uint8_t num); #endif /*__CAN_DRIVER_H */ /*---------------------------- file end -------------------------------------*/