DSP F28335怎么实现两个CAN模块之间的通讯

DSP F28335怎么实现两个CAN模块之间的通讯,第1张

可能由于没有将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总线采用中断接收程序会死在中断里,怎么回事等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10106060.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存