wangch_sh 发表于 2013-11-21 16:59

CAN通讯的问题

我用2808和2812做CAN通讯实验,通讯连上了。
我用定时器每秒发送一次,可是我改变邮箱的值,试图改变发送的值,可是收到的值不变。
interrupt void cpu_timer0_isr(void)      //每秒中断一次 发送邮箱0数据作为心跳
{
   ECanaRegs.CANTRS.bit.TRS3 = 1;         //邮箱3发送数据            
   PieCtrlRegs.PIEACK.all = PIEACK_GROUP1;
   if(flag==0)
{
flag=1;
GpioDataRegs.GPADAT.bit.GPIO0=1;
}
else
{
flag=0;
GpioDataRegs.GPADAT.bit.GPIO0=0;
}
TestMbox2++;
EALLOW;
ECanaMboxes.MBOX3.MDL.all = TestMbox1;
ECanaMboxes.MBOX3.MDH.all = TestMbox2;
EDIS;
}
TestMbox2++;
这里值加一。但收到的值不变。请高手指教,谢谢!

wangch_sh 发表于 2013-11-21 18:01

解决了。。。。。。。。

zhangmangui 发表于 2013-11-21 23:54

wangch_sh 发表于 2013-11-21 18:01 static/image/common/back.gif
解决了。。。。。。。。

求详细解释分享   谢谢啦

wangch_sh 发表于 2013-11-22 08:19

ECanaRegs.CANMC.bit.MBNR=3;
                        ECanaRegs.CANMC.bit.CDR=1;
       
                        ECanaMboxes.MBOX3.MDH.all = TestMbox2;
                        ECanaRegs.CANMC.bit.CDR=0;
需要设置CDR

耶稣欠筹了 发表于 2014-2-8 17:40

楼主,能分享一下通信程序吗?我一直调不同CAN通信!邮箱:592876981@qq.com

zhangmangui 发表于 2014-2-9 22:54

耶稣欠筹了 发表于 2014-2-8 17:40 static/image/common/back.gif
楼主,能分享一下通信程序吗?我一直调不同CAN通信!邮箱:

@wangch_sh   帮忙解决一下

wangch_sh 发表于 2014-2-10 08:20

他加我好友了。
页: [1]
查看完整版本: CAN通讯的问题