📄 dsp281x_ecan.h
字号:
//###########################################################################
//
// FILE: DSP281x_ECan.h
//
// TITLE: DSP281x Device eCAN Register Definitions.
//
//###########################################################################
//
// Ver | dd mmm yyyy | Who | Description of changes
// =====|=============|======|===============================================
// 0.00| 04/21/2005 | Y.Z.Y|(i) Support for errata (as explained in SPRZ193E and above) incorporated
// |(ii)Don't support the ECana control and status registers
// | They are defined in file 'F2812reg.h'
//###########################################################################
extern void CanDoubleRead(unsigned long *StorePtr, volatile unsigned long *RegPtr);
extern void CanDoubleWrite(volatile unsigned long *RegPtr, unsigned long *LoadPtr);
/* --------------------------------------------------- */
/* eCAN Mailbox Registers */
/* ----------------------------------------------------*/
struct MBOX {
unsigned long MSGID; /* eCAN Message ID (MSGID) bit definitions */
unsigned long MSGCTRL;/* eCAN Message Control Field (MSGCTRL) bit definitions */
unsigned long MDL; /* eCAN Message Data Register low (MDR_L) word definitions */
unsigned long MDH; /* eCAN Message Data Register high (MDR_H) word definitions */
};
/**************************************/
/* eCAN Mailboxes */
/**************************************/
struct ECAN_MBOXES {
struct MBOX MBOX0;
struct MBOX MBOX1;
struct MBOX MBOX2;
struct MBOX MBOX3;
struct MBOX MBOX4;
struct MBOX MBOX5;
struct MBOX MBOX6;
struct MBOX MBOX7;
struct MBOX MBOX8;
struct MBOX MBOX9;
struct MBOX MBOX10;
struct MBOX MBOX11;
struct MBOX MBOX12;
struct MBOX MBOX13;
struct MBOX MBOX14;
struct MBOX MBOX15;
struct MBOX MBOX16;
struct MBOX MBOX17;
struct MBOX MBOX18;
struct MBOX MBOX19;
struct MBOX MBOX20;
struct MBOX MBOX21;
struct MBOX MBOX22;
struct MBOX MBOX23;
struct MBOX MBOX24;
struct MBOX MBOX25;
struct MBOX MBOX26;
struct MBOX MBOX27;
struct MBOX MBOX28;
struct MBOX MBOX29;
struct MBOX MBOX30;
struct MBOX MBOX31;
};
/**************************************/
/* eCAN Local Acceptance Masks */
/**************************************/
/* eCAN Local Acceptance Mask (LAM) definitions */
struct LAM_REGS {
unsigned long LAM0;
unsigned long LAM1;
unsigned long LAM2;
unsigned long LAM3;
unsigned long LAM4;
unsigned long LAM5;
unsigned long LAM6;
unsigned long LAM7;
unsigned long LAM8;
unsigned long LAM9;
unsigned long LAM10;
unsigned long LAM11;
unsigned long LAM12;
unsigned long LAM13;
unsigned long LAM14;
unsigned long LAM15;
unsigned long LAM16;
unsigned long LAM17;
unsigned long LAM18;
unsigned long LAM19;
unsigned long LAM20;
unsigned long LAM21;
unsigned long LAM22;
unsigned long LAM23;
unsigned long LAM24;
unsigned long LAM25;
unsigned long LAM26;
unsigned long LAM27;
unsigned long LAM28;
unsigned long LAM29;
unsigned long LAM30;
unsigned long LAM31;
};
/**************************************/
/* eCAN Local Acceptance Masks */
/**************************************/
/* Mailbox MOTS File */
struct MOTS_REGS {
unsigned long MOTS0;
unsigned long MOTS1;
unsigned long MOTS2;
unsigned long MOTS3;
unsigned long MOTS4;
unsigned long MOTS5;
unsigned long MOTS6;
unsigned long MOTS7;
unsigned long MOTS8;
unsigned long MOTS9;
unsigned long MOTS10;
unsigned long MOTS11;
unsigned long MOTS12;
unsigned long MOTS13;
unsigned long MOTS14;
unsigned long MOTS15;
unsigned long MOTS16;
unsigned long MOTS17;
unsigned long MOTS18;
unsigned long MOTS19;
unsigned long MOTS20;
unsigned long MOTS21;
unsigned long MOTS22;
unsigned long MOTS23;
unsigned long MOTS24;
unsigned long MOTS25;
unsigned long MOTS26;
unsigned long MOTS27;
unsigned long MOTS28;
unsigned long MOTS29;
unsigned long MOTS30;
unsigned long MOTS31;
};
/* Mailbox MOTO File */
struct MOTO_REGS {
unsigned long MOTO0;
unsigned long MOTO1;
unsigned long MOTO2;
unsigned long MOTO3;
unsigned long MOTO4;
unsigned long MOTO5;
unsigned long MOTO6;
unsigned long MOTO7;
unsigned long MOTO8;
unsigned long MOTO9;
unsigned long MOTO10;
unsigned long MOTO11;
unsigned long MOTO12;
unsigned long MOTO13;
unsigned long MOTO14;
unsigned long MOTO15;
unsigned long MOTO16;
unsigned long MOTO17;
unsigned long MOTO18;
unsigned long MOTO19;
unsigned long MOTO20;
unsigned long MOTO21;
unsigned long MOTO22;
unsigned long MOTO23;
unsigned long MOTO24;
unsigned long MOTO25;
unsigned long MOTO26;
unsigned long MOTO27;
unsigned long MOTO28;
unsigned long MOTO29;
unsigned long MOTO30;
unsigned long MOTO31;
};
/*-----------------TIMER REGISTER-------------------------*/
struct CPUTIMER
{
unsigned long Timer; // Timer Counter
unsigned long Period; // Timer Period
unsigned int Control; // Timer Control
unsigned int Rsvd; // Reserved
unsigned long Prescale; // Timer Pre-Scale
};
extern volatile struct CPUTIMER Timer0;
extern volatile struct CPUTIMER Timer1;
extern volatile struct CPUTIMER Timer2;
//---------------------------------------------------------------------------
// eCAN External References & Function Declarations:
//
extern volatile struct ECAN_MBOXES ECanaMboxes;
extern volatile struct LAM_REGS ECanaLAMRegs;
extern volatile struct MOTO_REGS ECanaMOTORegs;
extern volatile struct MOTS_REGS ECanaMOTSRegs;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -