TickGetDiv256()如何运作?

Chr*_*ian 5 c microcontroller microchip

嗨,我想知道是否有人可以举例说明该TickGetDiv256();功能是如何 工作的.它来自Tick.c中的Microchip

我试图计算2个小时,如果满载发动机将停止.

我可以使用" threshold = tick + TICKS_PER_SECOND * 60;"功能.但我不知道它是否将是很好的用于这个的时间:threshold = tick + (TICKS_PER_SECOND * 60 * 60)*2;

亲切的问候

Wil*_*l A 2

MPLAB C指南来看,C编译器支持的最大整数数据类型是32位。从我在其他地方收集到的信息来看,滴答计数器有六个字节 -TickGetDiv256返回这些字节的“中间四个”。

由于滴答计数器的完整 6 个字节无法放入 32 位整数,因此您可以用来TickGetDiv256提取中间字节,从而计算出自计数器启动以来经过的“256 个滴答”间隔的数量。当然,这并不完全正确,因为它忽略了滴答计数器的最高字节。如果滴答计数器的低四个字节没有为您感兴趣的时间跨度提供足够的范围,您可以使用此函数。