can_ex5_transmit_receive.c 这个例程,由发送转成接收功能,接收的数据,只能有28388D发出,才能接收到吗?
我这边,尝试通过STM32给28388D发送数据,但是接收不到任何数据。
对例程can_ex5_transmit_receive.c,只是将transmit的宏定义注释了,其他的没有动
特来请教
谢谢
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
发送端是由STM32F407发出的,我用示波器测试了一下CANH和CANL,是有差分图形的。
接收端的话,如何测试是否有信号呢?
发送端can邮箱的设置,STM32F407是我们系统CAN通信的发送数据端。该如何设置他的CAN邮箱,使得STM32发的消息,28388D的CANA能接收到呢?
现在数据传输,使用的是C:\ti\c2000\C2000Ware_3_03_00_00\driverlib\f2838x\examples\c28x\can中的例程can_ex5_transmit_receive.c,目前我只把例程中的transmit的宏定义注释了(如下图)。程序中的其他地方,改动后尝试没效果,又用原例程替换了。
特来请教
谢谢
研究例程的过程中,看到上图这个地方,修改了下图中的flag位置(4),就能够接收任意ID的数据。
3的位置,是需要与发送端(我的是STM32F407)的模式配置一致(都为STD或者都为EXT)
2的位置,本身是0x00000001,我修改为0x00000000,这样改是为了将过滤器忽略(这也是一直接收不到STM32数据的原因)
2、3、4按照上述,修改完毕后,1的位置,无论如何改msgID(当然,这个地方的ID长度要注意一下,它是与3的位置配置的STD和EXT模式相关,STD模式不能超过11位,EXT不能超过29位),都不影响数据的接收。
STM32F407发送数据,F28388D接收数据的过程,按照上述修改,可以实现调通。
研究例程的过程中,看到上图这个地方,修改了下图中的flag位置(4),就能够接收任意ID的数据。
3的位置,是需要与发送端(我的是STM32F407)的模式配置一致(都为STD或者都为EXT)
2的位置,本身是0x00000001,我修改为0x00000000,这样改是为了将过滤器忽略(这也是一直接收不到STM32数据的原因)
2、3、4按照下图,修改完毕后,1的位置,无论如何改msgID(当然,这个地方的ID长度要注意一下,它是与3的位置配置的STD和EXT模式相关,STD模式不能超过11位,EXT不能超过29位),都不影响数据的接收。
STM32F407发送数据,F28388D接收数据的过程,按照上述修改,可以实现调通。