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.

[参考译文] TMS570LC4357:CAN3 Rx/Tx 引脚可配置为通用 IO 引脚

Guru**** 2468460 points
Other Parts Discussed in Thread: TMS570LS3137, HALCOGEN, TMS570LC4357

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/670415/tms570lc4357-can3-rx-tx-pins-configurable-as-general-purpose-io-pins

器件型号:TMS570LC4357
主题中讨论的其他器件:TMS570LS3137HALCOGEN

您好!

我使用的是具有 CCS v7.3和 Halcogen 4.07的 TMS570LC4357 Launchpad 电路板。 我正在尝试将 CAN3引脚(DCAN3RX - M19 和 DCAN3TX - M18)转换为 GPIO 引脚、但无法控制它。 但它在 TMS570LS3137 HDK 中工作。 甚至我也可以将 CAN2引脚转换为 GPIO 引脚。 但它不适用于 CAN3。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Vinayaka、

    CANRX 和 CANTX 引脚可用作 GPIO 引脚。 此函数由 DCAN TIOC 和 DCAN RIOC 寄存器控制。
    这两个寄存器的位3应该被清零。

    CAN3 TX 连接到 J10的引脚15、CAN3 RX 信号连接到 J10的引脚13。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 QJ:

    我试过它、但它仍然不起作用。 我在 canInit()函数中进行了以下更改

    /**- CAN3端口输出值*/
    canREG3->TIOC =(UINT32)((UINT32) 1U <<18U)
    |(uint32)((uint32) 0U <<17U)
    |(uint32)((uint32) 0U <<16U)
    |(uint32)((uint32) 0U << 3U)
    |(uint32)((uint32) 0U << 2U)   //之前为1
    |(uint32)((uint32) 0U << 1U);

    canREG3->RIOC =(UINT32)((UINT32) 1U <<18U)
    |(uint32)((uint32) 0U <<17U)
    |(uint32)((uint32) 0U <<16U)
    |(uint32)((uint32) 0U << 3U)   
    |(uint32)((uint32) 0U << 2U)   //之前为1
    |(uint32)((uint32) 0U << 1U);

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Vinayaka、

    对于 GIO 模式、应将 RIOC 和 TIOC 寄存器中的 Func 位置位。 如果 Func 位被清除、请在执行 canInit()后检查这两个寄存器。