📄 00-初始化函数.c
字号:
#include "reg52.h"
#include "sja1000.h"
//CAN初始化函数
void Init_CAN(void)
{
unsigned char bdata temp; //建立存储在bdata中的临时变量temp
do
{
MODR=0x09; //模式寄存器-设置复位模式而且单验收滤波模式
temp=MODR;
}
while(!(temp&0x01)); //判断
CDR=0x88; //时钟分频寄存器-设置PeliCAN模式,Clock off有效
BTR0=0x31; //总线时序寄存器-波特率为10kbps
BTR1=0x1c; //
IER=0x01; //中断使能寄存器-接收中断使能
OCR=0xaa; //输出控制寄存器-借签...
CMR=0x04; //命令寄存器-释放RXFIF0
ACR0='C'; //接收代码寄存器-本节点地址位CAN0
ACR1='A';
ACR2='N';
ACR3=0x00;
AMR0=0x00; //接收屏蔽寄存器-无任何屏蔽
AMR1=0x00;
AMR2=0x00;
AMR3=0x03; //最后两位为无用位,必须设置为逻辑1
do
{
MODR=0x08; //模式寄存器-推出复位模式,保持单验收滤波模式
temp=MODR;
}
while(temp&0x01); //判断...
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -