打印

28335_can通讯可以实现发送数据了,但是就是进不了接收中断。

[复制链接]
8042|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zjtzlqr|  楼主 | 2013-7-30 19:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
zjtzlqr|  楼主 | 2013-7-30 20:52 | 只看该作者
    //pie block
     PieCtrlRegs.PIECTRL.bit.ENPIE = 1;     
     PieCtrlRegs.PIEIER9.bit.INTx7 = 1;     
     PieCtrlRegs.PIEIER9.bit.INTx8 = 1;   

// Enable CPU int
     IER |= M_INT9;   
}

void main(void)
{
   MemCopy(&RamfuncsLoadStart, &RamfuncsLoadEnd, &RamfuncsRunStart);
   InitFlash();
   InitSysCtrl();
   DINT;
   InitPieCtrl();
   IER = 0x0000;
   IFR = 0x0000;

   InitPieVectTable();
   InitIsr();
   InitGpio();
   InitEcan();

      EINT;
      ERTM;   
   Gpio_example1();
}

interrupt void CAN_ISR(void)
{
struct ECAN_REGS ECanbShadow;
unsigned char  bRcvBuf[8];
ECanbShadow.CANRMP.all = ECanbRegs.CANRMP.all;
ECanbShadow.CANTA.all = ECanbRegs.CANTA.all;
    if(ECanbShadow.CANRMP.bit.RMP0 == 1)
    {
     ECanbShadow.CANRMP.bit.RMP0 = 1;
     ECanbRegs.CANRMP.all = ECanbShadow.CANRMP.all;
     bRcvBuf[0] = ECanbMboxes.MBOX0.MDL.byte.BYTE0;
     bRcvBuf[1] = ECanbMboxes.MBOX0.MDL.byte.BYTE1;
     bRcvBuf[2] = ECanbMboxes.MBOX0.MDL.byte.BYTE2;
     bRcvBuf[3] = ECanbMboxes.MBOX0.MDL.byte.BYTE3;
     bRcvBuf[4] = ECanbMboxes.MBOX0.MDH.byte.BYTE4;
     bRcvBuf[5] = ECanbMboxes.MBOX0.MDH.byte.BYTE5;
     bRcvBuf[6] = ECanbMboxes.MBOX0.MDH.byte.BYTE6;
     bRcvBuf[7] = ECanbMboxes.MBOX0.MDH.byte.BYTE7;
     if(bRcvBuf[1] == 1)
     {
      GpioDataRegs.GPBDAT.all = 0x08000000;
     }
     else
     {
      GpioDataRegs.GPBDAT.all = 0x00000000;
     }
    }
PieCtrlRegs.PIEACK.all = PIEACK_GROUP9;
}


使用特权

评论回复
板凳
zhangmangui| | 2013-7-30 21:20 | 只看该作者
cap.zip (122.52 KB)

参考一下

使用特权

评论回复
地板
zjtzlqr|  楼主 | 2013-7-30 21:35 | 只看该作者
版主,你发错了把。是can通信,而不是cap捕获

使用特权

评论回复
5
zhangmangui| | 2013-7-30 23:24 | 只看该作者
zjtzlqr 发表于 2013-7-30 21:35
版主,你发错了把。是can通信,而不是cap捕获

是的  不好意思   发错了   明天给你发

使用特权

评论回复
6
nealfei| | 2013-9-3 16:53 | 只看该作者
呵呵版主问题怎么解决的啊,我的一块板卡也遇到同样的问题了,可以发送数据,不能接收数据,当让还采用了ID屏蔽,不过挂仿真器没问题,就是跑flash的时候就不行,还有个问题是通讯时候先复位,可以正常,复位之后再通讯就收不到数据,不进入CAN中断了。我正在寻求帮助,还望指点指点,会不会和CAN的驱动芯片或者DSP的晶振有关系呢?

使用特权

评论回复
7
tianwen_4524| | 2013-9-4 10:46 | 只看该作者
关注,学习!!!

使用特权

评论回复
8
付永升| | 2014-8-8 21:15 | 只看该作者
nealfei 您的问题解决了没?是怎么解决的?能不能指点一下,我也遇到这个问题不知道咋弄。各位大神,帮忙哦

使用特权

评论回复
9
NWPU_CHEN| | 2014-8-8 22:55 | 只看该作者
参考例程,检查配置!

使用特权

评论回复
10
dsply1989| | 2014-9-19 10:30 | 只看该作者
zjtzlqr 发表于 2013-7-30 20:52
//pie block
     PieCtrlRegs.PIECTRL.bit.ENPIE = 1;     
     PieCtrlRegs.PIEIER9.bit.INTx7 = 1 ...

应该是中断配置有问题,我也是前几天刚把这个问题解决,建议把配置寄存器看下

使用特权

评论回复
11
仙人球W| | 2014-9-23 15:07 | 只看该作者
关注

使用特权

评论回复
12
siyida| | 2014-9-24 11:18 | 只看该作者

使用特权

评论回复
13
WESTLIFE_NJT| | 2016-3-8 16:10 | 只看该作者

版主,能发下can的中断接收例程吗?

使用特权

评论回复
14
zhangmangui| | 2016-3-8 21:38 | 只看该作者
WESTLIFE_NJT 发表于 2016-3-8 16:10
版主,能发下can的中断接收例程吗?

有没有下载安装controlSUITE工具呢   
里面提供了很多例程

使用特权

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

本版积分规则

12

主题

24

帖子

0

粉丝