28335_can通讯可以实现发送数据了,但是就是进不了接收中断。
这到底是为什么啊。 我用的是官方的flash cmd文件。是不是需要修改cmd文件啊//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 charbRcvBuf;
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 = ECanbMboxes.MBOX0.MDL.byte.BYTE0;
bRcvBuf = ECanbMboxes.MBOX0.MDL.byte.BYTE1;
bRcvBuf = ECanbMboxes.MBOX0.MDL.byte.BYTE2;
bRcvBuf = ECanbMboxes.MBOX0.MDL.byte.BYTE3;
bRcvBuf = ECanbMboxes.MBOX0.MDH.byte.BYTE4;
bRcvBuf = ECanbMboxes.MBOX0.MDH.byte.BYTE5;
bRcvBuf = ECanbMboxes.MBOX0.MDH.byte.BYTE6;
bRcvBuf = ECanbMboxes.MBOX0.MDH.byte.BYTE7;
if(bRcvBuf == 1)
{
GpioDataRegs.GPBDAT.all = 0x08000000;
}
else
{
GpioDataRegs.GPBDAT.all = 0x00000000;
}
}
PieCtrlRegs.PIEACK.all = PIEACK_GROUP9;
}
参考一下
版主,你发错了把。是can通信,而不是cap捕获 zjtzlqr 发表于 2013-7-30 21:35 static/image/common/back.gif
版主,你发错了把。是can通信,而不是cap捕获
是的不好意思 发错了 明天给你发 呵呵版主问题怎么解决的啊,我的一块板卡也遇到同样的问题了,可以发送数据,不能接收数据,当让还采用了ID屏蔽,不过挂仿真器没问题,就是跑flash的时候就不行,还有个问题是通讯时候先复位,可以正常,复位之后再通讯就收不到数据,不进入CAN中断了。我正在寻求帮助,还望指点指点,会不会和CAN的驱动芯片或者DSP的晶振有关系呢? 关注,学习!!! nealfei 您的问题解决了没?是怎么解决的?能不能指点一下,我也遇到这个问题不知道咋弄。各位大神,帮忙哦 参考例程,检查配置! zjtzlqr 发表于 2013-7-30 20:52 static/image/common/back.gif
//pie block
PieCtrlRegs.PIECTRL.bit.ENPIE = 1;
PieCtrlRegs.PIEIER9.bit.INTx7 = 1 ...
应该是中断配置有问题,我也是前几天刚把这个问题解决,建议把配置寄存器看下 关注 顶 zhangmangui 发表于 2013-7-30 21:20
参考一下
版主,能发下can的中断接收例程吗? WESTLIFE_NJT 发表于 2016-3-8 16:10
版主,能发下can的中断接收例程吗?
有没有下载安装controlSUITE工具呢
里面提供了很多例程
页:
[1]