我想问下在can底层驱动配置好的前提下,我向DSP发送任何数据,can就能接收到数据吗,然后将RMP=1即ECanaShadow.CANRMP.bit.RMP1 = 1;
还是说必须发送的数据符合一定的格式,can邮箱才能将RMP=1.我现在想问的是如何触发can的接收邮箱,让接收邮箱的的RMP=1.
user3900194:
我在书上看到“接收邮箱:接收到的每一条信息的标识符都要通过屏蔽验证,将其与保存在接收邮箱中的标识符相比较。当两个标识符相同时,接收的标识符、控制位及数据字节都写入到相匹配的邮箱的RAM存储器中,同时,相应接收到信息的悬挂位CANRMP【n】置位”
这句话可以解答上边的问题,我想问下,这里的标识符是指什么呢?
我想问下在can底层驱动配置好的前提下,我向DSP发送任何数据,can就能接收到数据吗,然后将RMP=1即ECanaShadow.CANRMP.bit.RMP1 = 1;
还是说必须发送的数据符合一定的格式,can邮箱才能将RMP=1.我现在想问的是如何触发can的接收邮箱,让接收邮箱的的RMP=1.
Joey Mao:
回复 user3900194:
标识符指Mesage ID,即帧ID
我想问下在can底层驱动配置好的前提下,我向DSP发送任何数据,can就能接收到数据吗,然后将RMP=1即ECanaShadow.CANRMP.bit.RMP1 = 1;
还是说必须发送的数据符合一定的格式,can邮箱才能将RMP=1.我现在想问的是如何触发can的接收邮箱,让接收邮箱的的RMP=1.
user3900194:
回复 Joey Mao:
谢谢,我再想问下,”局部接收屏蔽寄存器LAM“的功能是什么,是不是通过LAM来设置接收到信息的ID与接收邮箱的ID进行哪些位进行比较?
比较 0~31位,0比较,1不比较。这样可以用来实现一个邮箱可以接收很多的ID?不用LAM的话,一个邮箱只能接收一个与其ID相同的邮箱信息,我的理解对吗?
我想问下在can底层驱动配置好的前提下,我向DSP发送任何数据,can就能接收到数据吗,然后将RMP=1即ECanaShadow.CANRMP.bit.RMP1 = 1;
还是说必须发送的数据符合一定的格式,can邮箱才能将RMP=1.我现在想问的是如何触发can的接收邮箱,让接收邮箱的的RMP=1.
user3900194:
回复 Joey Mao:
局部接收屏蔽寄存器LAM“是不是只对接收邮箱有用,对发送邮箱没用?
我想问下在can底层驱动配置好的前提下,我向DSP发送任何数据,can就能接收到数据吗,然后将RMP=1即ECanaShadow.CANRMP.bit.RMP1 = 1;
还是说必须发送的数据符合一定的格式,can邮箱才能将RMP=1.我现在想问的是如何触发can的接收邮箱,让接收邮箱的的RMP=1.
user3900194:
回复 Joey Mao:
谢谢你的及时解答