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.

[参考译文] CC3220SF:无法进行计时器#39;s 回调

Guru**** 2589280 points


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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/803186/cc3220sf-cant-get-to-timer-s-callback

器件型号:CC3220SF

大家好!

我尝试在回调模式下使用计时器来组织1ms 延迟函数(使用 NoRTOS)

全局变量

volatile bool lock = false;

从 main 调用:

Board_init();

timer_init();

timer_handle timer = station_ms_timer_config ();

LOCK = false;
如果(Timer_start (timer)=TIMER_STATUS_ERROR)

while (1);

while (!lock);

/* smth */

防御:

Timer_handle station) station) ms_timer_config (void)

Timer_Params timerParams;
Timer_Params_init (&timerParams);
timerParams.period = 1000;
timerParams.periodUnits = Timer_Period_US;
timerParams.timerMode = Timer_OneShot_callback;
timerParams.timerCallback = timer_callback;
Timer_handle local_timer = Timer_open (Board_TIMER0、&timerParams);
if (local_timer == NULL)

while (1);

返回 LOCAL_TIMER;

这是回调:

void timer_callback (Timer_handle myHandle)

LOCK = true;

通过调试器、我可以看到我永远不会进行回调、原因可能是什么?

此致、Boris

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

    您能否以 Timer_Continuous_callback 作为您的计时器模式进行测试?

    此外、您能否使用 SDK 中的 timerled 示例进行测试、并查看是否遇到相同的问题?

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

    您的代码是否早于 noRTOS_START? 它全局启用硬件中断。 如果没有 noRTOS_START、您的计时器中断将不起作用。
    在 noRTOS SDK 示例中、在 main 中的 noRTOS_START 之后运行准确的代码会起作用。 以前运行它不起作用。

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

    尊敬的 Vincent:

    谢谢、这解决了我的问题、但我想知道 为什么 Timer_OneShot_callback 不起作用?

    现在、我使用 Timer_Continuous_callback 并在回调中手动停止计时器:

    void timer_callback (Timer_handle myHandle)

    Timer_stop (myHandle);
    LOCK = true;

    此致、Boris

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

    我不确定为什么它不适合您、但听起来好像您有解决方案。 我会将其报告为错误、如果我获得更多信息、我会告知您。

    BR、
    Vince