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.

[参考译文] CCS/TMS320F28020:如何通过汇编指令集 C28x 使用中断定时器/计数器?

Guru**** 2539500 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/682042/ccs-tms320f28020-how-to-use-interrupt-timer-counter-by-assembly-instruction-set-c28x

器件型号:TMS320F28020

工具/软件:Code Composer Studio

尊敬的所有支持者:

这是 Phu Nguyen。 我的 C28x 指令集汇编有问题。 我想按汇编设置计时器、但找不到它的指令。 我仔细阅读了"TMS320C28x CPU指令集"中的材料。 但我没有找到用于设置计时器/计数器的指令。

您能给我一种通过汇编 C28x 设置计时器/计数器的方法吗(我只使用汇编语言、不使用 C/C++语言)?

谢谢、此致、

Phu Nguyen

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

    在 CPU 启动计时器中、我们向寄存器写入 AS
    HWREGH (CPUTIMER 0_BASE + CPUTIME_O_TCR)&=~CPUTIME_TCR_TSS;其中 CPUTIME_TCR_TSS = 0x10U
    即将0写入 CPUTIME_O_TCR 寄存器中的第4位。

    有关更多信息、请查看 cputtime 代码以了解寄存器值。
    因此、如果您可以在汇编语言中执行相同的操作、则相当于启动计时器。

    希望这些信息有所帮助。

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

    我需要一条通过汇编方式执行此操作的指令、我没有允许使用 C/C++代码。 请为我提供相关操作说明和有关计时器 C28x CPU 的材料。

    非常感谢您、

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

    请使用此汇编代码启动计时器。

    ;//重新加载计数器
    MOVB ACC、#4
    地址 ACC、#0x0C00
    MOVL XAR4、@μ A 附件
    或 *+XAR4[0]、#0x0020

    ;//clear TSS bit of register TCR
    MOVB ACC、#4
    地址 ACC、#0x0C00
    MOVL XAR4、@μ A 附件
    和 *+XAR4[0]、#0xffffff

    上述代码将写入 CPUTimer0。

    如果要使用 CPUTimer 1、请使用0x0C08而不是0x0C00
    如果要使用 CPUTimer 2、请使用0x0C10而不是0x0C00

    有关 CPUTimer 信息、请参阅第2.8和2.15.2节 、网址为 www.ti.com/.../spruhm8g.pdf

    希望这对您有所帮助。

    谢谢、
    Katta