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.

[参考译文] TMS320F280025:无法访问特定寄存器

Guru**** 2538960 points
Other Parts Discussed in Thread: SYSCONFIG, C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1389672/tms320f280025-cannot-access-specific-register

器件型号:TMS320F280025
主题中讨论的其他器件:SysConfigC2000WARE

工具与软件:

您好!

我正在使用没有 SysConfig 的 C2000CCCR_CCSR2_SDK_5_02_00_00通用电机控制实验室项目、我想重置 Ware_Motor 中的 CCCR 寄存器初始化代码。

在早期版本中、我知道操作寄存器的方法是使用直接访问、例如:

McanaRegs.MCAN_CCCR.bits.INIT = 0;

但这会导致误差  

#20标识符"McanaRegs"未定义

现在的问题是、如何操作最新版本的 C2000Ware (还包括 SysConfig 等)中的寄存器? 对于 SysConfig 工程、我甚至无法使用上述方法找到寄存器。 是否应该直接使用 HWREG(...)?

谢谢

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

    您好!  

    F280025器件中没有 MCAN、它只有 CAN。   

    SysConfig 基于 driverlib API、并根据您所做的配置来生成代码。  因此、您将无法在 SysConfig 中使用 bitfield。

    您要将此类代码添加到 C 文件中、并包含适当的头文件、以便可以访问寄存器。 对于 CAN、要包含的头文件为 位于中的"f28002x_can.h" \device_support\f28002x\headers\include\  

    此致

    Siddharth

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

    我选择了错误的控制器、我指的是 F280039C、它具有 MCAN。

    感谢 answare、我会尝试并很快提供反馈。

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

    您好!  

    好的、如果您对此主题还有任何其他问题、请告诉我。

    此致

    Siddharth

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

    我曾使用通用电机控制示例尝试过这个方法、但我无法访问 MCanaReg、问题似乎是、其中包含了 hw_mcanss.h、其名称也类似 MCAN_CCCR 等、它位于 MCanaReg 联合体中、并且以某种方式中断了 Eacht Other、我不知道为什么。

    hw_mcanss.h:

    f28003x_mcan.h:

    因此我实际上无法直接访问寄存器。 我曾尝试使用 HWREG 函数、但这也不起作用、我不明白为什么。 我尝试重置 MCAN_CCCR Init 标志、但以下内容在固件运行时不执行任何操作:

    当我通过调试器重置标志时、该标志会保持为0并执行其终止的操作。 我在做什么错?

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

    您好!  

    您可以使用 driverlib 函数"MCAN_setOpMode"和合适的参数。  

    要写入0、可以使用" MCAN_setOpMode (MCANA_DRIVER_BASE、MCAN_OPERATION_MODE_NORMAL)"  

    要写入1、可以使用" MCAN_setOpMode (MCANA_DRIVER_BASE、MCAN_OPERATION_MODE_SW_INIT)"

    此致

    Siddharth

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

     MCAN 外设是一个很好的选择、请使用 Debug Console 和"Registers"选项卡浏览 MCAN 的寄存器。  您将在这里看到 CCCR 寄存器、INIT 和 TEST 寄存器、并在 初始化外设时跟踪它们。

    并连接并运行调试器后、展开以下内容: