可能由于没有将CANA与CANB用杜邦线连起来,见下图
开发板上面有CAN通信接口,对于CANA有CANAL、CANAH,类似CANB有CANBL、CANBH,在使用官方的历程前,需要将CANAL与CANBL连起来,同时将CANAH与CANBH连起来,希望帮到大家
dsp28335中存在两个程序时运行方法:用两个中断,分别是PWM1中断(3,1)和QEP1中断(5,1),其中PWM1中断的优先级要比QEP1中断优先级高,且PWM1中断为不可被抢占中断,QEP1中断为可被抢占中断。
dsp28335属于TI公司的DSP C2000系列产品。
dsp28335主要是用于电气控制领域,和工业产品,比如变频器控制、伺服控制等,也可以当作普通MCU使用。
can总线的接收程序都是放在中断里面的,下面是我的一段接收程序希望对你有启发
void USB_LP_CAN1_RX0_IRQHandler(void) //CAN_FIFO0接收中断
{
CAN_RxMessage(&CAN_MessageStd); //接收数据
CAN_FRAME_CACHE_Mark(); //缓存数据
CAN_FIFORelease(CAN1,CAN_FIFO0); //清中断标志
}
估计你要么是没有清中断标志,要么是接收数据的函数写的不对。
Receive_pack_length=ECanbMboxesMBOX16MSGCTRLbitDLC;//接收到的数据长度码
p++=ECanbMboxesMBOX16MDLwordLOW_WORD;
if(Receive_pack_length==2)goto end;
p++=ECanbMboxesMBOX16MDLwordHI_WORD;
if(Receive_pack_length==4)goto end;
p++=ECanbMboxesMBOX16MDHwordLOW_WORD;
if(Receive_pack_length==6)goto end;
p++=ECanbMboxesMBOX16MDHwordHI_WORD;
end:
你试试看这样子 是不是就能解决了。。。
不过看话题有点长久远了
以上就是关于DSP F28335怎么实现两个CAN模块之间的通讯全部的内容,包括:DSP F28335怎么实现两个CAN模块之间的通讯、当dsp28335中存在两个程序时怎么运行、STM32的CAN总线采用中断接收程序会死在中断里,怎么回事等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)