微秒决议时间

4个帖子/ 0新
最后一篇
Envirosenjason.
离线
最后一次露面:4年2周前
加入:2016-08-05 21:11
微秒决议时间

Timer1保留用于Freertos Ticks,它正在使用32 kHz时钟运行,其分辨率为约30.5微秒。如果我想在微秒的较小分辨率下获取当前的执行时间,那么在其中存储16/32 MHz Xtal或48/96 MHz PLL刻度的地方?我唯一可以发现更改RTOS时钟的地方是DG_CONFIGUSE_LP_CLK在CUSTOM_CONFIG_QSPI.H中修改FreerTOSCONFIG.H,但似乎只选择选择是32000,32768和RCX(10.5 kHz)时钟。有没有办法将操作系统滴滴更快到更快的时钟,所以我可以使用OS_GET_TICK_COUNT来跟踪执行时间?

关键词:
设备:
mt_dialog.
离线
最后一次露面:2个月1周前
职员
加入:2015-06-08 11:34
嗨Envirosenjason,

嗨Envirosenjason,

Timer1是为免费RTOS提供支持的计时器,仅使用LP时钟并连续运行,您无法将该计时器的源更改为另一个时钟,以便对您的时间测量具有更大的粒度,因此该计时器的分辨率是你在帖子上提到的一个,具体取决于LP时钟。您可以通过读取CAPTIM_TIMER_VAL_REG寄存器直接读取定时器1时钟的刻度。另请确保您只读取该值并从不写它,因为这可以达到系统。关于OS_GET_TICK_COUNT()这将为您提供2毫秒的分辨率。

删除redros的勾选不会直接从LP时钟驱动,但使用预分频器将刻度缩放到2 ms分辨率使用当前配置,可以通过将ConfigTick_rate_Hz更改为更大的值来减少时间来降低。蜱虫,但你应该谨慎,因为它会影响整个操作系统,因为它将被较小或更大的蜱运行。

谢谢mt_dialog.

阿林
离线
最后一次露面:4年1周前
加入:2016-09-30 07:23
嗨mt_dialog,

嗨mt_dialog,

为什么Freertos由Timer1提供支持而不是Systick?

谢谢
arm

mt_dialog.
离线
最后一次露面:2个月1周前
职员
加入:2015-06-08 11:34
嗨Arminl,

嗨Arminl,

我相信这是因为即使设备进入睡眠模式,Timer1也经常运行,但是,由于ARM在WFI()状态下,Systick不会操作。因此,由于您已经有一个不断运行的计时器,并且专用于保留时间,您可以使用此计时器勾选FreertOS,而不是将另一个定时器与该操作的Systick模块相同。

谢谢mt_dialog.