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