123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159 |
- /************************************************************************
- Project: Washing Machine Drive
- Filename: classB.h
- Partner Filename: N/A
- Description: Partner file of main.c
- Complier: IAR Embedded Workbench for ARM 8.40.2, IAR Systems.
- CPU TYPE : GD32F30x
- *************************************************************************
- Copyright (c) 2022 Welling Motor Technology(Shanghai) Co. Ltd.
- All rights reserved.
- *************************************************************************
- *************************************************************************
- Revising History (ECL of this file):
- ************************************************************************/
- /************************************************************************
- Beginning of File, do not put anything above here except notes
- Compiler Directives:
- *************************************************************************/
- #ifndef CAN_H
- #define CAN_H
- //#include "typedefine.h"
- #include <stdbool.h>
- /************************************************************************
- Compiler Directives (N/A)
- *************************************************************************/
- #ifdef _CAN_C_
- #define CAN_EXT
- #else
- #define CAN_EXT extern
- #endif
- /************************************************************************
- Definitions & Macros
- *************************************************************************/
- #define CAN_MC_ALARMCODE_DEFAULT \
- { \
- 0x00000000 \
- }
- #define ID_MC_BC 0x710
- #define ID_MC_TO_BMS 0x712
- #define ID_MC_TO_PBU 0x713
- #define ID_MC_TO_HMI 0x714
- #define ID_MC_TO_CDL 0x715
- #define ID_BMS_BC 0x720
- #define ID_BMS_TO_MC 0x721
- #define ID_BMS_TO_PBU 0x723
- #define ID_BMS_TO_HMI 0x724
- #define ID_BMS_TO_CDL 0x725
- #define ID_PBU_BC 0x730
- #define ID_PBU_TO_MC 0x731
- #define ID_PBU_TO_BMS 0x732
- #define ID_PBU_TO_CDL 0x735
- #define ID_HMI_BC 0x740
- #define ID_HMI_TO_MC 0x741
- #define ID_HMI_TO_BMS 0x742
- #define ID_HMI_TO_PBU 0x743
- #define ID_HMI_TO_CDL 0x745
- #define ID_CDL_BC 0x750
- #define ID_CDL_TO_MC 0x751
- #define ID_CDL_TO_BMS 0x752
- #define ID_CDL_TO_PBU 0x753
- #define ID_CDL_TO_HMI 0x754
- #define ID_TO_MC_FILTER (uint16_t)0x701
- #define ID_TO_MC_MASK (uint16_t)0x70F
- #define ID_BC_FILTER (uint16_t)0x700
- #define ID_BC_MASK (uint16_t)0x70F
- #define FRAME_BEGIN1 0x55
- #define FRAME_BEGIN2 0xAA
- #define FRAME_END 0xF0
- #define MODE_READ 0x11
- #define MODE_WRITE 0x16
- #define MODE_REPORT 0x0C
- /************************************************************************
- TypeDefs & Structure defines (N/A)
- *************************************************************************/
- typedef struct
- {
- uint16_t ucBufID; // ID
- uint8_t ucBufSize; //缓冲区数组:缓冲区大小
- uint8_t ucBufWrInde; //缓冲区数组:写索引
- uint8_t ucBufRdInde; //缓冲区数组:读索引
- uint8_t ucBufCnt; //缓冲区数组:数据计数
- uint8_t ucBufOvf; //缓冲区数组:溢出标志,注意清零
- uint8_t *pcBufAddr; //缓冲区数组:首地址指针变量
- uint32_t DelayTimeCnt; //超时计时
- bool IsWaitRX_Flag; //超时等待数据标志
- } CAN_Buf_TypeDef;
- /************************************************************************
- Exported Variables
- *************************************************************************/
- #ifdef _CAN_C_
- /* GD MCU */
- CAN_EXT can_receive_message_struct stRxMessage1;
- CAN_EXT can_receive_message_struct *pRxMsg = &stRxMessage1;
- CAN_EXT can_trasnmit_message_struct stTxMessage1;
- CAN_EXT can_trasnmit_message_struct *pTxMsg = &stTxMessage1;
- CAN_EXT uint8_t can_ubMbox;
- #else
- /* GD MCU */
- CAN_EXT can_receive_message_struct stRxMessage1;
- CAN_EXT can_receive_message_struct *pRxMsg;
- CAN_EXT can_trasnmit_message_struct stTxMessage1;
- CAN_EXT can_trasnmit_message_struct *pTxMsg;
- CAN_EXT uint8_t can_ubMbox;
- #endif
- /************************************************************************
- RAM ALLOCATION (N/A)
- *************************************************************************/
- /************************************************************************
- Exported Function Call Prototypes
- *************************************************************************/
- #ifdef _CAN_C_
- CAN_EXT void CAN_Rx_ISR(CAN_Buf_TypeDef *ptCANRx, uint8_t ucLength);
- CAN_EXT uint8_t cd_ReadChar(CAN_Buf_TypeDef *ptCANRx, uint8_t ucNum);
- CAN_EXT void cd_DelChar(CAN_Buf_TypeDef *ptCANRx, uint8_t ucNum);
- CAN_EXT uint32_t CRC32_Calculate(uint8_t *pData, uint16_t Length);
- #else
- CAN_EXT void CAN_Rx_ISR(CAN_Buf_TypeDef *ptCANRx, uint8_t ucLength);
- CAN_EXT void CAN_SendData(uint16_t ID, uint8_t *Data, uint16_t Length);
- CAN_EXT void SendData(uint16_t ID, uint8_t Mode, uint16_t Command, uint8_t *Data);
- CAN_EXT uint8_t cd_ReadChar(CAN_Buf_TypeDef *ptCANRx, uint8_t ucNum);
- CAN_EXT void cd_DelChar(CAN_Buf_TypeDef *ptCANRx, uint8_t ucNum);
- CAN_EXT void CAN_RxData_Process(CAN_Buf_TypeDef *ptCANRx, uint16_t TimeOutCnt);
- CAN_EXT void CanRx_Process(void);
- CAN_EXT void DataProcess(uint16_t ID, uint8_t Mode, uint16_t Cmd, uint8_t *Data);
- CAN_EXT uint32_t CRC32_Calculate(uint8_t *pData, uint16_t Length);
- #endif
- void Can_voInitMC_Run();
- /************************************************************************
- Flag Define (N/A)
- *************************************************************************/
- #endif
- /************************************************************************
- Copyright (c) 2022 Welling Motor Technology(Shanghai) Co. Ltd.
- All rights reserved.
- *************************************************************************
- End of this File (EOF)!
- Do not put anything after this part!
- *************************************************************************/
|