主题中讨论的其他器件: HALCOGEN
您好!
我刚刚开始使用这个 LAUNCHXL2-TMS57012评估板。 我使用的是 CCS v8.1和 Halcogen 4.07.00。 我以前测试过 DIO。
现在、我将尝试了解 CAN 的工作原理并测试板载 CAN 接口。
我首先想尝试 CAN1 RX 到 TX 的简单回送、后来又了解到 CAN 不是那么简单。 至少需要两个节点来对其进行测试。
在 Halcogen、我做到了:
在 CAN1和 CAN2上激活 MSGBOXes 1和2:
CAN1 Mbox1:TX、EOB、DLC=8
CAN1 Mbox2:Rx、EOB、DLC=8
CAN2 Mbox1:TX、EOB、DLC=8
CAN2 Mbox2:Rx、EOB、DLC=8
屏蔽= 0x0000077f 时、所有 Mbox 都被设置。
对于这两个总线、其它 CAN 端口、位速率、时序等参数是一样的。 也启用了 CAN1和 CAN2驱动器。
带有公头连接器的硬件连接:
CAN1_Tx -> CAN2_Rx
CAN2_Tx -> CAN1_Rx
我在 CCS 中的应用程序主代码:
{
CanInit (); /*传输数据*/ CANTransmit (canREG1、canMESSAGE_BOX1、TX_DATA); /*检查 Rx 线路上的数据*/ while (!canIsRxMessageArrived (canREG2、canMESSAGE_BOX1)); canGetData (canREG2、canMESSAGE_BOX1、Rx_DATA);
}
我无法实现传输。 我已经尝试调试会话、并在传输后观察到 CAN1错误/状态寄存器更新为0xE5、表示遇到 Bit0错误;并且 CAN2状态在初始化后不会改变以指示任何新消息 Rx。
我的问题:
1.此硬件设置是否正确? 如果没有、指向如何测试的任何指针可以连接到我的 Launchpad 板上?
2.是否需要使用120欧姆电阻器端接总线? 我认为没有必要、因为根据原理图、我看不到总线的 CAN_H/CAN_L 对。
是否缺少一些配置来成功实现 CAN1和 CAN2通信?
很抱歉有任何愚蠢的观点或格式错误。 并提前感谢您的参与。