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.

TMS570LS1227 DCAN自检发送故障

Other Parts Discussed in Thread: TMS570LS1227

TMS570LS1227 采用TI官网的发送测试程序。程序运行后发送一直不成功。

调用canTransmit(canBASE_t *node, uint32 messageBox, const uint8 * data)函数,success 标志一直为0U

发送程序一直进入未发送消息判断

if ((node->TXRQx[regIndex] & bitIndex) != 0U)
{
success = 0U;
}

请问这是什么原因?,DCAN配置文件如附件。

  • 敬爱的TI工程师们呢?

  • 他们手里也不一定有这个板子,要向总部申请,然后审批后,从美国发货,最后到手里了,才能实际操作操作,看看是哪儿的问题。

  • Xing 你好,

    请问你是用的环回模式还是正常发送模式?

    1. 如果你使用的环回模式,建议看一下spnu5151b TRM的27.17.6节,如果要进入环回模式,你必须将DCAN TEST寄存器的bit 4(LBack)置1.

    2. 如果使用的正常轮询发送模式,检查一下你的硬件连接是否正确,要确保你的接收节点跟TMS570LS1227连接正确,可以使用CAN接口卡进行调试。CAN以时间片形式发送报文,程序是通过轮询TxRqst位判断当前数据是否发送完成,进而发送后面的报文。另外,参考TRM的27.17.19和27.17.24节,检查一下你的IF Mask Registers设置是否正确。如果你用的轮询方式,建议先单步调试一下,看卡在哪一步,再分析具体问题。

  • 您好,我是采用的轮询方式,一直卡在调用canTransmit(canBASE_t *node, uint32 messageBox, const uint8 * data)函数,success 标志一直为0U

    发送程序一直进入未发送消息判断

    if ((node->TXRQx[regIndex] & bitIndex) != 0U)
    {
    success = 0U;
    }

    导致一直不能进入数据发送程序。

x 出现错误。请重试或与管理员联系。
x 出现错误。请重试或与管理员联系。
x 出现错误。请重试或与管理员联系。