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.

[参考译文] TMS320F28388D:如何在 CM 中配置 CPU TIMER0寄存器?

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1414521/tms320f28388d-how-to-configure-cpu-timer0-registers-in-cm

器件型号:TMS320F28388D

工具与软件:

您好、专家

我需要在 CM 中设置 CPU Timer0、如下代码所示。

Fullscreen
1
2
3
4
5
6
7
8
CPUTimer_setPeriod( CPUTIMER0_BASE, 2500); /* 2,500clk = 20,000 ns */
CPUTimer_clearOverflowFlag( CPUTIMER0_BASE);
CPUTimer_stopTimer( CPUTIMER0_BASE);
Interrupt_setPriority( INT_TIMER0, 1);
Interrupt_registerHandler( INT_TIMER0, Timer0IntHandler);
Interrupt_enable( INT_TIMER0);
CPUTimer_startTimer( CPUTIMER0_BASE);
CPUTimer_enableInterrupt( CPUTIMER0_BASE);
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

但是、CPU 计时器0寄存器未启用以进行配置。

可能是要被阻止写入。

这些寄存器在 CM 中具有写保护。

但我没有找到一个等待解锁一个保护在一个技术文档.

您能告诉我们如何解锁保护吗?

此致、

Hidehiko

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

    您好!

    请允许我 下周回到您的身边、对此造成的延迟深表歉意。

    此致、

    Ben Collier

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

    您好!

    在尝试写入寄存器之前、应该能够放置以下行:

    EALLOW;

    您可以使用以下命令重新锁定:

    EDIS;

    此致、

    Ben Collier

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

    尊敬的 Ben:

    我需要在 CM 中进行配置的方法。

    当我在代码中添加了"EALLOW;...EDIS;"时、

    它导致了构建错误。

    EALLOW 和 EDIS 未定义。

    此致、

    Hidehiko

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

    你好、秀彦

    您能否介绍一下用于计时器操作的 CM driverilb 函数?

    另请查看该主题: https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1228115/tms320f28388d

    谢谢!

    Ben Collier

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

    尊敬的 Ben:

    我找不到有关 CM driverlib 函数的说明。

    CPU1、CPU2 = TI DSP

    CM = ARM

    SPNU151W.pdf (ARM 优化 C/C++编译器)

    它没有描述 EALLOW。

    EALLOW 是 spru514y.pdf 中的 TI DSP (TMS320C28x) C/C++编译器指令(C2000编译器手册)

    此致、

    Hidehiko

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

    您好!

    您是否在未尝试解锁这些寄存器的情况下尝试了写入这些寄存器?

    我现在看一下 driverlib 函数、没有什么能解决写保护。  

    设置周期函数:  

    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    static inline void CPUTimer_setPeriod(uint32_t base, uint32_t periodCount)
    {
    ASSERT(CPUTimer_isBaseValid(base));
    //
    // Load the MSB period Count
    //
    HWREG(base + CPUTIMER_O_PRD) = periodCount;
    }
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    此致、

    Ben Collier

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

    尊敬的 Ben:

    您的意思是这些寄存器不需要 EALLOW 吗?

    是否漏掉了有关写保护的描述?

    此致、

    Hidehiko

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

    Hidehiko

    他们是否遗漏了有关写保护的描述?

    我认为可能会出现这种情况、您可以尝试编写它们吗?

    谢谢!

    Ben Collier

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

    Ben、

    感谢您的评论。

    我知道"写保护"包括错误描述。

    此致、

    Hidehiko