主题中讨论的其他器件:C2000WARE
您好!
在我的设置中、两个 CAN 总线(500.000kbit/s)上有很多具有不同消息 ID 的消息被来回发送。
我使用:
#define TX_MSG_OBJ_ID 1.
#define RX_MSG_OBJ_ID 2.
当我发送 CAN 时、我使用(取自 lib):
CANMessageSet (CANA_base、TX_MSG_OBJ_ID、&sTXCANMessage、MSG_OBJ_TYPE_TX);
但不幸的是、当我运行代码时、消息丢失(不发送)、并且总线错误在我的 PC-APP Busmaster 上弹出。
对于读取我使用 的消息(取自 lib):
CANMessageGet (CANA_base、RX_MSG_OBJ_ID、&sRXCANMessage_Int、true);
我知道 CANA 和 CANB 都有 32个消息对象(文档中的“消息对象”也称为“邮箱”)
如何在系统中实现邮箱? 代码示例?
我找到的库中
CAN_sendMessage (uint32_t base、uint32_t Objid、uint16_t msgLen、
const uint16_t * msgData)
和
CAN_readMessage (uint32_t base、uint32_t Objid、
uint16_t * msgData)
使用它们是否更好? 对我来说、它看起来几乎是一样的。
我真的需要查看邮箱(32个消息对象) 和不同消息发送(Rx/TX)之间的连接-我必须处理邮箱吗?如何处理?
现在 TX 位于邮箱1中(TX_MSG_OBJ_ID= 1),RX 位于邮箱2中(RX_MSG_OBJ_ID = 2).... 对吗?
谢谢!
此致、
Carsten