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

📄 can.c

📁 DSP2407的CAN总线C源程序
💻 C
字号:
//      .include F2407REGS.h
unsigned int * CAN_MDER  = (unsigned int *) 0x7100;
unsigned int * CAN_TCR  = (unsigned int *) 0x7101;
unsigned int * CAN_RCR  = (unsigned int *) 0x7102;
unsigned int * CAN_MCR  = (unsigned int *) 0x7103;
unsigned int * CAN_BCR2  = (unsigned int *) 0x7104;
unsigned int * CAN_BCR1  = (unsigned int *) 0x7105;
unsigned int * CAN_ESR  = (unsigned int *) 0x7106;
unsigned int * CAN_GSR  = (unsigned int *) 0x7107;
unsigned int * CAN_CEC  = (unsigned int *) 0x7108;
unsigned int * CAN_IFR  = (unsigned int *) 0x7109;
unsigned int * CAN_IMR  = (unsigned int *) 0x710A;
unsigned int * CAN_LAM0_H  = (unsigned int *) 0x710B;
unsigned int * CAN_LAM0_L  = (unsigned int *) 0x710C;
unsigned int * CAN_LAM1_H  = (unsigned int *) 0x710D;
unsigned int * CAN_LAM1_L  = (unsigned int *) 0x710E;


unsigned int * CAN_MSGIDOH=	(unsigned int *) 0x7200;			
unsigned int * CAN_MSGIDOL= (unsigned int *) 0x7201;
unsigned int * CAN_MSGCTRL0=(unsigned int *) 0x7202;



unsigned int * CAN_MSGID1H=(unsigned int *) 0x7208;	
unsigned int * CAN_MSGID1L=(unsigned int *) 0x7209;
unsigned int * CAN_MSGCTRL1=(unsigned int *) 0x720A;

unsigned int * CAN_MSGID2H=(unsigned int *) 0x7210;
unsigned int * CAN_MSGID2L=(unsigned int *) 0x7211;
unsigned int * CAN_MSGCTRL2=(unsigned int *) 0x7212;

unsigned int * CAN_MSGID3H=(unsigned int *) 0x7218;
unsigned int * CAN_MSGID3L=(unsigned int *) 0x7219;
unsigned int * CAN_MSGCTRL3=(unsigned int *) 0x721A;
	
unsigned int * CAN_MSGID4H=(unsigned int *) 0x7220;
unsigned int * CAN_MSGID4L=(unsigned int *) 0x7221;
unsigned int * CAN_MSGCTRL4=(unsigned int *) 0x7222;
unsigned int * CAN_MBX4A=(unsigned int *) 0x7224;
unsigned int * CAN_MBX4B=(unsigned int *) 0x7225;
unsigned int * CAN_MBX4C=(unsigned int *) 0x7226;
unsigned int * CAN_MBX4D=(unsigned int *) 0x7227;

unsigned int * CAN_MSGID5H=(unsigned int *) 0x7228;
unsigned int * CAN_MSGID5L=(unsigned int *) 0x7229;
unsigned int * CAN_MSGCTRL5=(unsigned int *) 0x722A;
unsigned int * CAN_MBX5A=(unsigned int *) 0x722C;
unsigned int * CAN_MBX5B=(unsigned int *) 0x722D;
unsigned int * CAN_MBX5C=(unsigned int *) 0x722E;
unsigned int * CAN_MBX5D=(unsigned int *) 0x722F;

unsigned int * IMR=(unsigned int *)0x0004;
unsigned int * SCSR1=(unsigned int *)0x7108;
unsigned int * MCRB=(unsigned int *)0x7092;

CAN_Init() 							//CAN初始化子程序
{
	*IMR|=0x0010;
	*SCSR1|=0x0010;
	*MCRB|=0x00C0;					//IO配置成CAN收发引脚
	*CAN_MDER = 0x00C0;  			//邮箱2,3配置成接收信箱,不使能所有信箱
	*CAN_IFR=0x0000;					//清全部CAN中断标志位
	*CAN_LAM0_H=0x8000;  			//邮箱0,1设置为接收标识符必须完全匹配。
	*CAN_LAM0_L=0x0000;
	*CAN_LAM1_H=0x8000;				//邮箱2,3设置为接收标识符必须完全匹配

⌨️ 快捷键说明

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