#ifndef _CAN_APP_H_
#define _CAN_APP_H_

void Can_Abort_All(void);
void CAN_QuickTimer_Init(void);
void Can_Write_Fun_APP(void);
void Can_BusOff_Fun(void);

void Can_Set_Buff_260(uint8_t CopyData []);
void Can_Set_Buff_280(uint8_t CopyData []);
void Can_Set_Buff_380(uint8_t CopyData []);
void Can_Set_Buff_385(uint8_t CopyData []);
void Can_Set_Buff_52E(uint8_t CopyData []);
void Can_Set_Buff_69B(uint8_t CopyData []);
void Can_Set_Buff_28A(uint8_t CopyData []);


void Can_Set_Buff_2E1(uint8_t CopyData []);
void Can_Set_Buff_0E1(uint8_t CopyData []);
void Can_Set_Buff_0F6(uint8_t CopyData []);
void Can_Set_Buff_036(uint8_t CopyData []);
void Can_Set_Buff_0B6(uint8_t CopyData []);
void Can_Set_Buff_320(uint8_t CopyData []);
void Can_Set_Buff_152(uint8_t CopyData []);
void Can_Set_Buff_153(uint8_t CopyData []);
void Can_Set_Buff_168(uint8_t CopyData []);
void Can_Set_Buff_128(uint8_t CopyData []);
void Can_Set_Buff_139(uint8_t CopyData []);
void Can_Set_Buff_131(uint8_t CopyData []);
void Can_Set_Buff_24A(uint8_t CopyData []);
void Can_Set_Buff_1A1(uint8_t CopyData []);
void Can_Set_Buff_389(uint8_t CopyData []);
void Can_Set_Buff_135(uint8_t CopyData []);
void Can_Set_Buff_35A(uint8_t CopyData []);
void Can_Set_Buff_341(uint8_t CopyData []);
void Can_Set_Buff_211(uint8_t CopyData []);
void Can_Set_Buff_228(uint8_t CopyData []);
void Can_Set_Buff_431(uint8_t CopyData []);
void Can_Set_Buff_5e0(uint8_t CopyData []);
void Can_Set_Buff_236(uint8_t CopyData []);
void Can_Set_Buff_75F(uint8_t CopyData []);



typedef enum
{
    Can_RX_IDLE = 0,  // 空闲状态
    Can_RX_RECEIVING, // 接收中
    Can_RX_COMPLETE   // 接收完成
} Can_RxState_t;

void    Can_BusOffRecover(void);
uint8_t CrcCheckSum(uint8_t *data, uint8_t len);
void can_submit(void);
void Get_ID_0x794_Msg(void);
void send_0x714_fuc(void);
extern uint8_t ruanjianbanbenhao[8];
void Get_PN_msg(void);
void change_UDS_DID(void);
void resetchangeUDSfuc(void);
void resetpowerfuel(void);

void Can_Time(void);
void Get_SW_msg(void);
void Get_HW_msg(void);
#endif
