void CanInit()
{
PCONP|=~((int32)0x03<<12);
PINSEL1&=~((uint32)0x03<<18); //使能CAN
PINSEL1|=((uint32)0x01<<18);
C1MOD=C1MOD|0x01; //进入设置模式
C1MOD=C1MOD|0x01; //进入设置模式
if(C1MOD&0x01==0x01)
{
C1EWL = 0x60; //设置报警越限
C1BTR = (1<<23)|(1<<20)|(3<<16)|(0<<14)|17; //设置CAN波特率
C1IER = 0x00; //设置中断函数
// C1MOD=(C1MOD|0xfc)&0x03;
AFMR=0x03;
}
C1MOD=C1MOD&0xfe; //退出软件复位
C1MOD=C1MOD&0xfe; //退出软件复位
}
波特率写入寄存器C1BTR,那你说应该是怎样设定啊?发送和接收都得改吧。。
|