打印

请教下CAN通讯问题SJA1000

[复制链接]
1155|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
mcuatmel|  楼主 | 2014-12-9 11:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我的系统:51+SJA1000
现象:只要一发数就复位
SJA1000初始化代码:
///////////////////////////////////////////////
//函数:init_sja1000
//说明:独立CAN控制器SJA1000的初始化
//入口:无
//返回:无
///////////////////////////////////////////////
void init_sja1000(void)
{
    uchar state,ss,status;
    uchar ACRR[4];
    uchar AMRR[4];

// 接收代码寄存器
    //ACRR[0] = can_node_id;
        ACRR[0] = 0xff;
    ACRR[1] = 0xff;
    ACRR[2] = 0xff;
    ACRR[3] = 0xff;       
// 接收屏蔽寄存器,只接收主机发送的信息
        AMRR[0] = 0x00;
    AMRR[1] = 0x00;
    AMRR[2] = 0x00;
    AMRR[3] = 0x00;       
        WDTCR|=0x10;
// 使用do--while语句确保进入复位模式
    do
    {
        REMODE  = 0x01;        // 设置MOD.0=1--进入复位模式,以便设置相应的寄存器
                delay(2);
                state = REMODE;
                ss=ECC;
                status=REMODE;
    }
    while( !(status & 0x01) );
        WDTCR|=0x10;
// 对SJA1000部分寄存器进行初始化设置
    CDR  = 0xc8;        // CDR为时钟分频器,CDR.3=1--时钟关闭, CDR.7=0---basic CAN, CDR.7=1---Peli CAN
    BTR0 = 0x67;   //10K
        BTR1 = 0x2f;
    IER  = 0xfd;        // IER.0=1--接收中断使能;  IER.1=0--关闭发送中断使能
    OCR  = 0x1a;        // 配置输出控制寄存器
    CMR  = 0x04;        // 释放接收缓冲器
       
// 初始化接收代码寄存器
    ACR0 = ACRR[0];
    ACR1 = ACRR[1];
    ACR2 = ACRR[2];       
    ACR3 = ACRR[3];

        // 初始化接收屏蔽寄存器
    AMR0 = AMRR[0];
    AMR1 = AMRR[1];
    AMR2 = AMRR[2];
    AMR3 = AMRR[3];
// 使用do--while语句确保进入自接收模式
    do
    {
                //REMODE   = 0x00;        //MOD.2=1--进入自接收模式,MOD.3=0--双滤波器模式
                status=REMODE;
                REMODE   = 0x08;
                delay(2);
                state  = ECC;
                state  = SR;
                delay(2);
                state  = REMODE;
     }
    while( !(status & 0x08) );
        CMR = 0X04;
        WDTCR|=0x10;
}


求指点!

相关帖子

沙发
mcuatmel|  楼主 | 2014-12-9 11:48 | 只看该作者
使用PeilCAN模式。

使用特权

评论回复
板凳
FAQ| | 2014-12-9 12:52 | 只看该作者
复位?怎么个复位法?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

512

主题

1456

帖子

2

粉丝