📄 flexcan.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 + -