打印

2407 can总线 产生错误

[复制链接]
589|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
mahaoyu0213|  楼主 | 2015-7-27 18:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
2407和28335用CAN通信 2407经常出现错误中断 查询CAN错误状态寄存器CANESR为0x80 即 Bit Error Flag
另外 当波特率设置为1M时 会出现 Form Error Flag 的错误
附上2407 CAN的初始化程序
先谢谢了!


void CanInit(void)
{   
        unsigned int tmp;
        CANMDER=0x00;                                         
          
        CANLAM0H=(DOUT_Mask<<2);       
           CANLAM0L=0xffff;                           
        CANMSGID0H=(DOUT_Add <<2)|0x4000;
           CANMSGID0L=0xffff;                                    
           CANMBX0A=0;
        CANMBX0B=0;
        CANMBX0C=0;
        CANMBX0D=0;
       
        CANMSGID4H=0x00;                                      
        CANMSGID4L=0x00;            
        CANMSGCTRL4=0x08;                                     
        CANMBX4A=0;
        CANMBX4B=0;
        CANMBX4C=0;
        CANMBX4D=0;

        CANMCR=0x00;
        CANMDER=0x11;                                    
          
           MCRB=MCRB|0x00c0;                                             

        CANMCR=0x1000;                        
       
        do
        {
                tmp=CANGSR;
                WatchDog();
        }
        while(!(tmp&0x10));                                            /*wait for CCE=1 */
       
        CANBCR2=0x03;               
        CANBCR1=0x0257;               
        CANMCR=0x2480;   

        do
        {
                  tmp=CANGSR;
                  WatchDog();
         }
        while(tmp&0x10);                                      
       
           CANIMR=0x117f;                                      
           CANIFR=0xffff;                                                    

        return;
}

相关帖子

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

本版积分规则

2

主题

2

帖子

0

粉丝