⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 flexcan.h

📁 zigbee 飞思卡尔 音频传输 基于ucos的所有源码
💻 H
字号:
/*
 * File:		FlexCAN.h
 * Purpose:     Provide common ColdFire FlexCAN routines for polled serial IO
 *
 * Notes:
 */

#ifndef __FlexCAN_H__
#define __FlexCAN_H__


#include "OS_CPU.H"
#include "button.h"
/********************************************************************/

void FlexCAN_init (void);
void	transmit_data(char mb_no,uint32 id,unsigned char *databuf,unsigned char data_length,char transmit_code,char rtr,char ide,char *err);
void read_data(char mb_no,unsigned char *buf,unsigned char *length,char *err);
void change_mb_cs(char mb_no,char code,char srr,char ide,char rtr);



extern	OS_STK	AppTaskFlexCANStk[256];
void  AppTaskFlexCAN (void * pdata);


#define MCF_CAN_MB0_CS                 (*(vuint32*)(&__IPSBAR[0x1C0080]))
#define MCF_CAN_MB0_ID					(*(vuint32*)(&__IPSBAR[0x1C0084]))
#define MCF_CAN_MB0_DATAFIELDS			(*(vuint8*)(&__IPSBAR[0x1C0088]))

#define MCF_CAN_MB1_CS                 (*(vuint32*)(&__IPSBAR[0x1C0090]))
#define MCF_CAN_MB1_ID					(*(vuint32*)(&__IPSBAR[0x1C0094]))
#define MCF_CAN_MB1_DATAFIELDS			(*(vuint8*)(&__IPSBAR[0x1C0098]))

#define MCF_CAN_MB2_CS                 (*(vuint32*)(&__IPSBAR[0x1C00A0]))
#define MCF_CAN_MB2_ID					(*(vuint32*)(&__IPSBAR[0x1C00A4]))
#define MCF_CAN_MB2_DATAFIELDS			(*(vuint8*)(&__IPSBAR[0x1C00A8]))

#define MCF_CAN_MB3_CS                 (*(vuint32*)(&__IPSBAR[0x1C00B0]))
#define MCF_CAN_MB3_ID					(*(vuint32*)(&__IPSBAR[0x1C00B4]))
#define MCF_CAN_MB3_DATAFIELDS			(*(vuint8*)(&__IPSBAR[0x1C00B8]))

#define MCF_CAN_MB4_CS                 (*(vuint32*)(&__IPSBAR[0x1C00C0]))
#define MCF_CAN_MB4_ID					(*(vuint32*)(&__IPSBAR[0x1C00C4]))
#define MCF_CAN_MB4_DATAFIELDS			(*(vuint8*)(&__IPSBAR[0x1C00C8]))

#define MCF_CAN_MB5_CS                 (*(vuint32*)(&__IPSBAR[0x1C00D0]))
#define MCF_CAN_MB5_ID					(*(vuint32*)(&__IPSBAR[0x1C00D4]))
#define MCF_CAN_MB5_DATAFIELDS			(*(vuint8*)(&__IPSBAR[0x1C00D8]))

#define MCF_CAN_MB6_CS                 (*(vuint32*)(&__IPSBAR[0x1C00E0]))
#define MCF_CAN_MB6_ID					(*(vuint32*)(&__IPSBAR[0x1C00E4]))
#define MCF_CAN_MB6_DATAFIELDS			(*(vuint8*)(&__IPSBAR[0x1C00E8]))

#define MCF_CAN_MB7_CS                 (*(vuint32*)(&__IPSBAR[0x1C00F0]))
#define MCF_CAN_MB7_ID					(*(vuint32*)(&__IPSBAR[0x1C00F4]))
#define MCF_CAN_MB7_DATAFIELDS			(*(vuint8*)(&__IPSBAR[0x1C00F8]))

#define MCF_CAN_MB8_CS                 (*(vuint32*)(&__IPSBAR[0x1C0100]))
#define MCF_CAN_MB8_ID					(*(vuint32*)(&__IPSBAR[0x1C0104]))
#define MCF_CAN_MB8_DATAFIELDS			(*(vuint8*)(&__IPSBAR[0x1C0108]))

#define MCF_CAN_MB9_CS                 (*(vuint32*)(&__IPSBAR[0x1C0110]))
#define MCF_CAN_MB9_ID					(*(vuint32*)(&__IPSBAR[0x1C0114]))
#define MCF_CAN_MB9_DATAFIELDS			(*(vuint8*)(&__IPSBAR[0x1C0118]))

#define MCF_CAN_MB10_CS                 (*(vuint32*)(&__IPSBAR[0x1C0120]))
#define MCF_CAN_MB10_ID					(*(vuint32*)(&__IPSBAR[0x1C0124]))
#define MCF_CAN_MB10_DATAFIELDS			(*(vuint8*)(&__IPSBAR[0x1C0128]))

#define MCF_CAN_MB11_CS                 (*(vuint32*)(&__IPSBAR[0x1C0130]))
#define MCF_CAN_MB11_ID					(*(vuint32*)(&__IPSBAR[0x1C0134]))
#define MCF_CAN_MB11_DATAFIELDS			(*(vuint8*)(&__IPSBAR[0x1C0138]))

#define MCF_CAN_MB12_CS                 (*(vuint32*)(&__IPSBAR[0x1C0140]))
#define MCF_CAN_MB12_ID					(*(vuint32*)(&__IPSBAR[0x1C0144]))
#define MCF_CAN_MB12_DATAFIELDS			(*(vuint8*)(&__IPSBAR[0x1C0148]))

#define MCF_CAN_MB13_CS                 (*(vuint32*)(&__IPSBAR[0x1C0150]))
#define MCF_CAN_MB13_ID					(*(vuint32*)(&__IPSBAR[0x1C0154]))
#define MCF_CAN_MB13_DATAFIELDS			(*(vuint8*)(&__IPSBAR[0x1C0158]))

#define MCF_CAN_MB14_CS                 (*(vuint32*)(&__IPSBAR[0x1C0160]))
#define MCF_CAN_MB14_ID					(*(vuint32*)(&__IPSBAR[0x1C0164]))
#define MCF_CAN_MB14_DATAFIELDS			(*(vuint8*)(&__IPSBAR[0x1C0168]))

#define MCF_CAN_MB15_CS                 (*(vuint32*)(&__IPSBAR[0x1C0170]))
#define MCF_CAN_MB15_ID					(*(vuint32*)(&__IPSBAR[0x1C0174]))
#define MCF_CAN_MB15_DATAFIELDS			(*(vuint8*)(&__IPSBAR[0x1C0178]))


#define MCF_CAN_MB_CS(x)				(*(vuint32*)(&__IPSBAR[0x1C0080 + (x)*0x10]))
#define MCF_CAN_MB_ID(x)				(*(vuint32*)(&__IPSBAR[0x1C0084 + (x)*0x10]))
#define MCF_CAN_MB_DATAFIELDS(mb_no,data_byte)		(*(vuint8*)(&__IPSBAR[0x1C0088 + data_byte + (mb_no)*0x10]))


#define MCF_CAN_MB_CODE_MASK			0x0F000000
#define MCF_CAN_MB_LEN_MASK				0x000F0000
#define MCF_CAN_MB_TIME_STAMP_MASK		0x0000FFFF
#define MCF_CAN_MB_CODE_RX_INACTIVE		0x00000000
#define MCF_CAN_MB_CODE_TX_INACTIVE		0x08000000
#define MCF_CAN_MB_IDE_MASK				0x00200000
#define MCF_CAN_MB_RTR_MASK				0x00100000


//#define MCF_CAN_MB



/********************************************************************/

#endif /* __FlexCAN_H__ */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -