系统时间,OSTimeGet()和OSTimeSet()

来源:互联网 发布:centos更新python 编辑:程序博客网 时间:2024/04/30 03:47
无论时钟节拍何时发生,µC/OS-Ⅱ都会将一个32位的计数器加1。这个计数器在用户调用OSStart()初始化多任务和4,294,967,295个节拍执行完一遍的时候从0开始计数。在时钟节拍的频率等于100Hz的时候,这个32位的计数器每隔497天就重新开始计数。用户可以通过调用OSTimeGet()来获得该计数器的当前值。也可以通过调用OSTimeSet()来改变该计数器的值。OSTimeGet()和OSTimeSet()两个函数的代码如程序清单 L5.4所示。注意,在访问OSTime的时候中断是关掉的。这是因为在大多数8位处理器上增加和拷贝一个32位的数都需要数条指令,这些指令一般都需要一次执行完毕,而不能被中断等因素打断。程序清单 L 5.4得到和改变系统时间INT32U OSTimeGet (void){    INT32U ticks;    OS_ENTER_CRITICAL();    ticks = OSTime;    OS_EXIT_CRITICAL();    return (ticks);}void OSTimeSet (INT32U ticks){    OS_ENTER_CRITICAL();    OSTime = ticks;    OS_EXIT_CRITICAL();}

0 0
原创粉丝点击