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

F28388D评估板的CAN通信

接下来,我想的是通过28388D的CANA接收来自STM32的CAN口的数据,研究了一下例程,觉得can_ex5_transmit_receive.c是最适合的。

在例程中,看到
When the TRANSMIT define is selected, the CAN Controller acts as a Transmitter and sends data to the second CAN Controller connected
externally.
If TRANSMIT is not defined the CAN Controller acts as a Receiver and waits for message to be transmitted by the External CAN Controller.

然后,我在原来例程基础上,将TRANSMIT的宏定义注释了。我对例程中注释的理解是,把TRANSMIT注释掉之后,例程就变成接收的功能了。(不知道是不是我想的不对)

硬件连接上,CAN收发器模块接到28388D的CANB,然后收发器的CANH和CANL,接到STM32的CANH和CANL,然后由STM32通过CAN向外发送数据。

这样注释后,debug完成,我在CCS中观察rxMsgData的数据变化,却始终是0。

我自己感觉,可能是对例程的理解错误

特来请教!

谢谢

Susan Yang:

user6355257 说:然后,我在原来例程基础上,将TRANSMIT的宏定义注释了。我对例程中注释的理解是,把TRANSMIT注释掉之后,例程就变成接收的功能了。(不知道是不是我想的不对)

是的,您的理解是正确的

请问您是否有注意到下面的note:(您是否有使用transceiver)

//! \note CAN modules on the device need to be connected to via CAN
//!transceivers.
//!
//! \b Hardware \b Required \n
//!- A C2000 board with CAN transceiver

,

@vince:

好的,我的硬件上我给28388d评估板连接了一个CAN收发器(接到了CANB),然后连接到了STM32的CAN收发器上。28388D的CANA悬空。

我想实现的功能是将28388D当做是接收数据端,STM32作为发送数据端
这样的话,28388D的transceiver应该用不上吧

谢谢

,

Susan Yang:

“我的硬件上我给28388d评估板连接了一个CAN收发器”

transceiver按照例程的意思就是CAN收发器。

所以您现在是28388和STM32都连接了CAN收发器,且两者是相连的?

//! \b External \b Connections \n
//!- ControlCARD CANA is on GPIO37 (CANTXA) and GPIO36 (CANRXA)

您现在使用是control card?是否有使用示波器来观测CAN的通信波形?若是可以的话,请您上传一下,谢谢

,

@vince:

所以您现在是28388和STM32都连接了CAN收发器,且两者是相连的?回复:对的,是这样连接的。

硬件使用的是,28388D的评估板。

示波器上,测STM32的CANH和CANL,是正常的差分信号的波形。

STM32发送数据正常,28388D这边接收数据的数组rxMsgData没有显示。

应该还是can_ex5_transmit_receive.c例程没有改好的原因,我再看看程序。

谢谢

,

@vince:

您好,数据传输接收过程已调通,谢谢,辛苦了

,

@vince:

多谢您的帮助

,

Susan Yang:

很高兴您能解决问题!后续有其他问题欢迎随时发新帖!

,

@vince:

赞(0)
未经允许不得转载:TI中文支持网 » F28388D评估板的CAN通信
分享到: 更多 (0)