TI中文支持网
TI专业的中文技术问题搜集分享网站

TI F2812 eCAN有关邮箱滤波设置求助

首先F2812的eCAN模块是配置在eCAN增强模式,11位标识符。

我想使能多个邮箱接收,每个邮箱接收不同的的标识符

比如邮箱31我接收标识符为1XX XXXX XXXX

邮箱30我接收标识符为10XX XXXX XXXX

邮箱29我接收标识符为11XX XXXX XXXX

//LAMI

ECanaLAMRegs.LAM31.bit.LAMI = 1;
ECanaLAMRegs.LAM30.bit.LAMI = 1;
ECanaLAMRegs.LAM29.bit.LAMI = 1;

ECanaLAMRegs.LAM31.bit.LAM_H = 0x1000;
ECanaLAMRegs.LAM30.bit.LAM_H = 0x1800;
ECanaLAMRegs.LAM31.bit.LAM_H = 0x1800;

(X为无关项)

有关接受滤波的话,CAN2USB会设置两处,一处是掩码,表明标识符的某些位是有关项(即必须符合相应数字),有些位这是无关项(可以不符合)。

这样的话LAM寄存器的设置应该就是掩码,那么过滤码在哪里设置?

然后有关手册,本地接受屏蔽CANLAM 20.1(英2.20.1)一节,”进入的消息被存储在具有匹配标识符的编号最高的邮箱中。“这个是什么含义?

ming zhao1:

您好,打扰您一下,我是初学者,我刚刚写了一个发送和接收的ecan程序(分别,见附件), A DSP发送,B DSP 接收。

然后我是把发送的烧写进了A板。问题:在烧写的过程中,出现了一个警告:对于.const那一行,no matching,

B板用仿真器进行观察寄存器里的值(没有烧,但Flash里已经有了以前固化的程序,具体是什么我清楚),然后load program到板子里,开始run,在接收邮箱前设置的有断点,然后我就分别把高、低16位装入观察窗口,发现里面已经有值了,这也太奇怪了吧,can的双绞线还没有连接怎么会有值呢,而且一断开,再一连接,值还是那个值。

太奇怪了,由于是初学者,不知道哪里出了问题,所以想请教您一下,耽误您的宝贵时间了。我怀疑是我的程序有问题,但就是不知道问题出在哪里?

请教您一下,帮忙看看,谢谢,不胜感激!

祝您,工作顺利!

首先F2812的eCAN模块是配置在eCAN增强模式,11位标识符。

我想使能多个邮箱接收,每个邮箱接收不同的的标识符

比如邮箱31我接收标识符为1XX XXXX XXXX

邮箱30我接收标识符为10XX XXXX XXXX

邮箱29我接收标识符为11XX XXXX XXXX

//LAMI

ECanaLAMRegs.LAM31.bit.LAMI = 1;
ECanaLAMRegs.LAM30.bit.LAMI = 1;
ECanaLAMRegs.LAM29.bit.LAMI = 1;

ECanaLAMRegs.LAM31.bit.LAM_H = 0x1000;
ECanaLAMRegs.LAM30.bit.LAM_H = 0x1800;
ECanaLAMRegs.LAM31.bit.LAM_H = 0x1800;

(X为无关项)

有关接受滤波的话,CAN2USB会设置两处,一处是掩码,表明标识符的某些位是有关项(即必须符合相应数字),有些位这是无关项(可以不符合)。

这样的话LAM寄存器的设置应该就是掩码,那么过滤码在哪里设置?

然后有关手册,本地接受屏蔽CANLAM 20.1(英2.20.1)一节,”进入的消息被存储在具有匹配标识符的编号最高的邮箱中。“这个是什么含义?

ming zhao1:

我的邮箱是:1083176055@qq.com,期待您的回信。非常感谢!

赞(0)
未经允许不得转载:TI中文支持网 » TI F2812 eCAN有关邮箱滤波设置求助
分享到: 更多 (0)