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.

[参考译文] LAUNCHXL-F28379D:如何访问 CPU 状态寄存器(ST0和 ST1)位字段?

Guru**** 2465890 points
Other Parts Discussed in Thread: C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1488981/launchxl-f28379d-how-to-access-cpu-status-register-st0-and-st1-bit-fields

器件型号:LAUNCHXL-F28379D
Thread 中讨论的其他器件:C2000WARE

工具与软件:

我 尝试修改了 INTM 位、花了一段时间才找到它们、因为它们未包含在技术参考手册中。

为什么 技术参考手册中未包含 CPU 状态寄存器(ST0和 ST1)及其位字段?  

如果我不想 在软件和硬件之间使用任何抽象层、如何访问 CPU 状态寄存器(ST0和 ST1)位字段?  

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

    ++以及中断使能寄存器(IER)的位字段?

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

    www.ti.com/lit/spru430

    第2.3、2.4和 A.1节

    Lori、是否有办法执行用户提出的问题?

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

    IER 和 IFR 由编译器理解。 (请参阅 www.ti.com/lit/spru514 第6.5.2节、cregister 关键字)

    • IFR 为只读、可通过"或"运算进行设置。 IFR 可通过 AND 运算清零
    • IER 可用于分配、或、AND 运算。

    INTM 可 通过进行修改

    • EINT;-禁用中断。 这是我们的标准头文件中的宏
    • DINT;-启用中断。 还会在我们的标准头文件中添加一个宏
    • unsigned int __enable_interrupts();- compiler intrinsic - ref www.ti.com/lit/spru514 table 7.6.
    • unsigned int __disable_interrupts();- compiler intrinsic -- ref www.ti.com/lit/spru514 table 7.6.
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    C2000Ware 中还提供了一些可由 c 调用的汇编语言的辅助函数。 请参阅下面的 driverlib 目录。 C28x_CORE_REGISTERS.asm 和.h 文件。

    (这在 F2837xD driverlib 目录中缺失、但 CPU 寄存器访问函数相同)

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

    感谢您的澄清。 它还适用于以下 cregister 定义:  _cregister volatile unsigned int IER; IER = 0x0001;

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

    应用程序了  __ asm (" SETC INTM");  至设置、然后  _asm (" CLRC INTM"); 清除 INTM 位。