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.

[参考译文] LP-MSPM0G3507:SysTick 程序的使用

Guru**** 2478765 points


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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1293151/lp-mspm0g3507-usage-of-systick-program

器件型号:LP-MSPM0G3507

您好、先生。

我想确认一下 SysTick 的 uage。

我为 Comfirm 编写了一个关于如何使用"DL_SysTick _getValue ()"的小示例程序。

还设置 SysTick "1000000"的周期、并在 CCS 中选中.syscfg 文件中的"Initialize Period"和"Enable Sustickand Start Counting"。  

//////////////////////////////////////////////////////////////////////////////////////////////////////////////
#include "ti_msp_dl_config.h"

uint32_t WDT、WDT2;// SysTick 计时器数据

int main (空)
{
SYSCFG_DL_init ();

// DL_SYSCTL_enableSleepOnExit ();

while (1){
/___ WFI ();
DL_Common_delayCycles (200000);
WDT = DL_SysTick _getValue ();
ASM ("NOP");
DL_Common_delayCycles (200000);
WDT2 = DL_SysTick _ getValue ();
DL_GPIO_togglePins (GPIO_LEDS_PORT、GPIO_LEDS_USER_LED_1_PIN);
ASM ("NOP");

////////////////////////////////////////////////////////////////////////////////////////////////////

我想 SysTick 计数器 从0开始、然后递增到1000000、再返回到0。

但我在中断时检查了上部程序、并检查了 WDT 和 WDT2的值。 它看起来像是从1000000开始并递减计数器。

SysTick 计数器从初始周期开始递减、如果计数器达到0、它会自动返回到1000000、这是对的吗?

请告诉我。

此致

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

    是的、SysTick 是一个递减计数器。 [请参考 TRM (SLAU846A)第3.4.2节、第4段。]

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

    我不知道这个。 但是、我只是使用它每1ms 触发一个中断来实现我自己的 Millis 计数器、因此我不关心它是上升还是下降。

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

    您好、Bruce San

    感谢您的快速响应。

    我明白了。

    谢谢。

    此致