单片机/MCU论坛
直播中

tr4578

8年用户 928经验值
擅长:模拟技术
私信 关注
[问答]

在pmu_init () 之前添加了systick_init (),systick_value_Get () 总是返回0的原因?

我用我的 运行示例代码 “BLDC_BC_HALL_EXAMPLE_TLE987X MOTORCONTROLKIT_12V”。
它一直停留在函数 delay_US () 中,所以我调试了这个函数,发现 systick_value_Get () 总是返回 0。
我检查了源代码,发现第一次调用 d elay_US () 是在 pmu_init () 中,但在调用 pmu_init () 之前,没有调用 systick_Init ()。
我在 pmu_init () 之前添加了 systick_init (),但是 systick_value_Get () 仍然返回 0。
我不知道如何让它正常运行。
void tle_init(void)
{
#ifdef RTE_DEVICE_SDK_SCU scu_init ();
#endif
#ifdef RTE_DEVICE_SDK_PMU PMU_
Init ();#endif #ifdef RTE_DEV

ICE_SDK_ADC2 adc1_init ();#endif #ifdef RTE_DEVICE_SDK_ADC2 ad2cc_C2 _init (); #endif








.

回帖(1)

早知

2024-1-22 17:29:34
导致 systick_value_Get () 总是返回 0 的问题可能是 systick_init () 函数没有正确地初始化 SysTick 计数器。您可以确保在调用 systick_init () 之前将 SysTick 计数器配置为适当的值。

另外,如果您在 pmu_init () 之前调用了 systick_init (),但仍然遇到相同的问题,那么可能是在 pmu_init () 中的其他操作干扰了 SysTick 计数器。您可以在 pmu_init () 中添加一些调试输出语句,观察程序执行到何处时 systick_value_Get () 的返回值开始变为 0。

此外,确保正确包含头文件以及正确调用函数和传递参数。检查源代码中函数的调用顺序和参数是否正确。


举报

更多回帖

发帖
×
20
完善资料,
赚取积分