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.

[参考译文] RTOS/MSP432P401R:为什么我的程序可以#39;t 进入 clockFxn?

Guru**** 2568565 points


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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/604810/rtos-msp432p401r-why-can-t-my-program-go-into-clockfxn

器件型号:MSP432P401R

工具/软件:TI-RTOS

大家好、

我初始化一个时钟、如下所示:

ERROR_Block EB;
Error_init (&EB);

Clock_Params params;
Clock_Params_init (&params);

uint32_t timeout = 0;

params.period = 10 * 1000 / Clock_tickPeriod;// 10s
params.Flag = false;
ClockHandle_ADP5062 = Clock_FunkPeriod;// startClock_Clock_A params.params.h (&flag)、clock_params.clock_params (startF000&flag) 

当超时= 0时、程序不会进入 ClockFxn_ADP5062。 但是、当超时=其他值时、程序不会进入 ClockFxn_ADP5062。

为什么会这样呢?

此致、

Gilbert

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

    不确定、让我来看看这一点。 能否确认您使用的是红色 Launchpad? 还可以告诉我您使用的是哪个 SDK 版本??

    谢谢、

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

    您好、Gilbert、

    查看时钟文档后。

    "'timeout'参数用于指定单次触发和周期时钟实例(以时钟节拍为单位)的启动超时。 此超时在时钟实例启动时应用。 对于周期实例、配置的时钟函数将在时间间隔等于超时后初始调用、随后将以周期参数指定的速率调用。 对于一次性实例(其中 period 参数为0),一旦时钟实例启动(使用 Clock_start()或在 startFlag 为 true 时自动启动),配置的 Clock 函数将在时间间隔等于超时后调用一次。"

    请尝试将超时设置为等于您的周期、这样就可以达到目的。 无论如何、我要附加 我的示例代码 作为参考。

     希望这对您有所帮助。

      David

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

    我使用的硬件是我的定制板。 SDK 的版本为 tirtos_msp43x_2_16_01_14。

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

    您好大卫杜夫,

    很抱歉、 我的问题描述中有错误。

    问题应如下:

    "当超时= 0时、程序会进入 ClockFxn_ADP5062。 但是、当 timeout =其他值时、程序可以进入 ClockFxn_ADP5062。  为什么会这样呢?"

    此致、

    Gilbert

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    由于 params.startFlag = false、因此必须使用 Clock_start (handle)手动启动它。
    您可以在文档概述 html 页面中查看 TI-"RTOS 内核运行时 API 和配置(CDOC)"中的时钟文档、了解更多详细信息。 例如、它描述了周期性与单次触发、启动/延迟启动/停止等

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

    大家好、ToddMullanix、

    在 等待时钟超时之前、我确定我的程序已经调用 Clock_start (handle)。 此外、我认为设置超时=周期是一个好主意、它可以正常工作。 但根据我的理解、尽管超时= 0、时钟将定期调用 clock_function。

    此致、

    Gilbert