Files
checker_slave/source/interface/if_can.h

68 lines
1.2 KiB
C
Raw Normal View History

#ifndef if_can_h__
#define if_can_h__
//#include "define.h"
#include "stm32f10x_can.h"
typedef struct{
uint32_t Reserve1 :3;
uint32_t srcMACID :5;
uint32_t Reserve0 :2;
uint32_t destMACID :5;
uint32_t ACK :1;
uint32_t FunClass :6;
uint32_t SegFlag :2;
uint32_t SegNum :8;
}YeCanID_st_old;
typedef struct{
uint32_t SegNum :8;
uint32_t Reserve0 :2;
uint32_t ACK :1;
uint32_t FunClass :6;
uint32_t SegFlag :2;
uint32_t destMACID :5;
uint32_t srcMACID :5;
uint32_t Reserve1 :3;
}YeCanID_st;
typedef union{
uint32_t Exide;
YeCanID_st yecanid;
YeCanID_st_old yecanid_old;
}YeCanID_un;
typedef struct{
uint8_t *rx_databuf; //接收数据缓存
uint8_t seg_num; //分段号
uint8_t seg_flag;//分段标志
uint16_t rx_index;//接收缓存下标
}YeCanRxFrame_st;
extern volatile uint8_t CAN0_TX_BUSY_Flag;
/*
@brief CAN通讯初始化 CANgpio
*/
void YeCanInit(void);
/*
@brief CAN发送通讯帧
@param
@param
@param
@param
@rtv 0 1
*/
uint8_t YeCan_SendFrame(uint8_t srcaddr,uint8_t dstaddr,const uint8_t* txdata, uint16_t len,int delay_ms);
#endif