大家好,我现在项目上用了28335的CAN,接收发送都采取中断方式,开始运行都好好的,但在大约运行1小时,再也无法进入CAN中断服务程序,找了好久了,也没找到原因,向大家请教、求助,先行谢谢大家了
mangui zhang:
1、设置邮箱中断等级(CANMIL),设置通过中断线ECAN0INT/ECAN1INT。
2、配置邮箱中断屏蔽寄存器(CANMIM)。
3、配置全局中断屏蔽寄存器(CANGIM)。AAIM, WDIM, WUIM, BOIM, EPIM, WLIM,默认是使能的。
中断线0的优先级比中断线1的优先级高,中断线0常作为系统中断,中断线1常作为邮箱中断。
大家好,我现在项目上用了28335的CAN,接收发送都采取中断方式,开始运行都好好的,但在大约运行1小时,再也无法进入CAN中断服务程序,找了好久了,也没找到原因,向大家请教、求助,先行谢谢大家了
mangui zhang:
eCAN的中断分为两级:
一、报文对象级中断
在eCAN模式下,32个邮箱中的每一次都可以引起中断,需要设置的是MIM[n]和MIL[n]
MIM[n]=1,则不屏蔽相应的邮箱中断;反之则屏蔽
MIL[n]=1,则利用中断线1来产生中断,反之采用中断线1
1、发送中断
2、接收中断
3、发送的远程帧接收到应答报文中断
4、接收到的远程帧成功发送应答报文中断
5、终止报文发送确认中断
6、报文丢失中断
………………………………………………………
在邮箱产生中断时,相应的中断标志在全局中断标志寄存器中会有指示,但全局中断标志寄存器只有2个,
关于邮箱中断向量MIV[5]中,仅显示发生中断优先级最高的邮箱号。
在整车CAN网络通讯中,配置各个模块的波特率是很重要的,针对这段事件对eCAN模块的研究,说点自己的心得!
(1)eCAN系统时钟SYSCLKOUT:
(2)eCAN时钟:
eCANCLK=(SYSCLKOUT/2)/BRP
(3)Tq的计算公式:
TQ=1/eCANCLK=BRP/(SYSCLKOUT/2)
(4)比特率(波特率)的计算公式为:
Bit_rate=1/(Bit_timexTQ)
如TI Reference中实例,当Bit_Timing=15, eCANCLK=75M时,波特率=1MHZ
大家好,我现在项目上用了28335的CAN,接收发送都采取中断方式,开始运行都好好的,但在大约运行1小时,再也无法进入CAN中断服务程序,找了好久了,也没找到原因,向大家请教、求助,先行谢谢大家了
j wd:
回复 mangui zhang:
请问您遇到过这个问题吗?你所说的我知道,这跟我的问题有很大关系吗?
大家好,我现在项目上用了28335的CAN,接收发送都采取中断方式,开始运行都好好的,但在大约运行1小时,再也无法进入CAN中断服务程序,找了好久了,也没找到原因,向大家请教、求助,先行谢谢大家了
shuang feng1:
楼主问题解决了吗?
我也遇到同样的问题