本帖最后由 能不能 于 2016-12-14 16:25 编辑
#ifndef __CAN_H
#define __CAN_H
#include "sys.h"
//////////////////////////////////////////////////////////////////////////////////
/*
说明:前面的5个函数是基础,后面的函数是不同模式下的过滤ID的
*/
//CAN接收RX0中断使能
#define CAN_RX0_INT_ENABLE 0 //0,不使能;1,使能.
u8 CAN_Mode_Init(u8 tsjw,u8 tbs2,u8 tbs1,u16 brp,u8 mode); //CAN初始化
u8 Can_Send_Msg(u8* msg,u8 len); //发送数据
u8 Can_Send_MsgAB(u8 id_fmt,u32 id,u8* msg,u8 len); //发送数据 标准帧/扩展帧 ;ID号;数据内容;数据长度
u8 Can_Receive_Msg(u8 *buf); //接收数据
void CAN_Filter0(void); //第零种ID不过滤模式
/////////////////////////////////////////////////////////////////////////////////
void CAN_Filter1(void); //第一种ID过滤模式: 32位列表模式
void CAN_Filter2(void); //第二种ID过滤模式: 32位屏蔽码模式
void CAN_Filter3(void); //第三种ID过滤模式: 32位列表模式 过滤多个ID
void CAN_Filter4(void); //第四种ID过滤模式: 16位列表模式 过滤0-4个ID 标准帧
void CAN_Filter5(void); //第五种ID过滤模式: 16位屏蔽码模式
void CAN_Filter6(void); //第六种ID过滤模式: 32位16位混合屏蔽模式 过滤一个16位一个32位ID
/////////////////////////////////////////////////////////////////////////////////
void CAN_Filter33(void); //第三种ID过滤模式: 32位列表模式 过滤多个ID (注释:与上面的第三种滤波作用相同)
void CAN_Filter3a(u8 n,u32 id[2]); //第三种ID过滤模式: 32位列表模式 过滤多个ID : 过滤器号0-6, id号的数组 FIFO-0
void CAN_Filter3b(u8 n,u32 id[2]); //第三种ID过滤模式: 32位列表模式 过滤多个ID : 过滤器号7-13,id号的数组 FIFO-1
#endif
QQ : 1347723002
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>