wangch_sh 发表于 2013-12-30 16:00

28335CAN通讯的问题

我写28335CAN通讯程序,用到接收中断。
有两个中断函数:
INT9.5          ECAN0INTA(eCAN-A)
INT9.6          ECAN1INTA(eCAN-A)
我用ECAN1INT可以收到,用ECAN0INT就收不到。
这是怎么回事?ECAN1INT和ECAN0INT有什么区别?
请高手指教,谢谢!
其中INT9.5为名称,向量ID是100,ECAN0INT是描述。

wangch_sh 发表于 2013-12-30 17:59

高手支招啊!!!!!!!!!

zhangmangui 发表于 2013-12-30 21:00

28335的CAN具体没研究过
符兄能不能帮忙解决一下
@paradoxfx

wangch_sh 发表于 2013-12-31 17:40

附代码:
// Configure CAN interrupts
//        ECanaShadow.CANMIL.all = 0xFFFFFFFF ;                  // Interrupts asserted on eCAN1INT
        ECanaShadow.CANMIL.all= 0x00000000 ;               // Interrupts asserted on eCAN0INT       
        ECanaRegs.CANMIL.all = ECanaShadow.CANMIL.all;
       
        ECanaShadow.CANMIM.all= 0x02;//0xFFFFFFFF;            // 使能0、1、2、三个邮箱中断
    ECanaRegs.CANMIM.all = ECanaShadow.CANMIM.all;
   
    //ECanaShadow.CANGIM.all = 0xFFFFFFFF;       
    ECanaShadow.CANGIM.bit.I0EN = 1;                        // 使能0号中断线
    ECanaShadow.CANGIM.bit.I1EN = 0;                        // 使能1号中断线
        ECanaShadow.CANGIM.bit.GIL = 0;
    ECanaRegs.CANGIM.all = ECanaShadow.CANGIM.all;       
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
//IER |= M_INT3;
        IER |= M_INT9;//test ecan

// Enable EPWM INTn in the PIE:Group 3 interrupt 1-2
           PieCtrlRegs.PIECTRL.bit.ENPIE = 1;                //test enable the PIE block
        //PieCtrlRegs.PIEIER9.bit.INTx1 = 1;   // scirx
          
           PieCtrlRegs.PIEIER9.bit.INTx6 = 1;
    PieCtrlRegs.PIEIER9.bit.INTx5 = 1;        // ecan0_a
页: [1]
查看完整版本: 28335CAN通讯的问题