系统定时的问题

2019-03-24 16:34发布

*********************************************************************************************************
** Function name:       InitSysTick
** Descriptions:        系统节拍定时器初始化
** input parameters:    无
** output parameters:   无
** Returned value:      无
*********************************************************************************************************/
void InitSysTick(uint32 ulMsTime)
{     STCTRL   = (1ul << 0) | (1ul << 1);                                 /*  使能系统节拍定时器并使能中断*/
    /*
     * (FAHBCLK / 2000000* ulMsTime - 1)为us延时
     * (FAHBCLK / 2000* ulMsTime - 1)为ms延时
     */
    STRELOAD = FAHBCLK / 2000000 * ulMsTime - 1;                           /*  定时时间设置                */
 
    zyIsrSet(STI, (unsigned long )SysTickIsr, PRIO_ONE );
}
理论上,如果ulMsTime = 1的话值应该是0.5us,但实际是1us。是什么原因呢? 此帖出自小平头技术问答
0条回答

一周热门 更多>

相关问题

    相关文章