刚接触 NuMicro M058S, 对他库的 使用方法不很了解,遇到如下问题请教高手。 
 
在官方的M058SSAN开发上写了一个LED 闪烁的程序,闪烁延时调用的是官方库中的CLK_SysTickDelay()函数。 
但是实际的延时时长要比设置的延时时长短很多。是不是我的使用方法不对呢。请教高手。 
代码如下: 
 
#include <stdio.h> 
#include "M058S.h" 
 
#define PLL_CLOCK           50000000 
void SYS_Init(void) 
{ 
    /* Unlock protected registers */ 
    SYS_UnlockReg(); 
          /* Enable Internal RC 22.1184MHz clock */ 
    CLK_EnableXtalRC(CLK_PWRCON_OSC22M_EN_Msk); 
 
    /* Waiting for Internal RC clock ready */ 
    CLK_WaitClockReady(CLK_CLKSTATUS_OSC22M_STB_Msk); 
 
    /* Switch HCLK clock source to Internal RC and HCLK source divide 1 */ 
    CLK_SetHCLK(CLK_CLKSEL0_HCLK_S_HIRC, CLK_CLKDIV_HCLK(1)); 
 
    /* Enable external XTAL 12MHz clock */ 
    CLK_EnableXtalRC(CLK_PWRCON_XTL12M_EN_Msk); 
 
    /* Waiting for external XTAL clock ready */ 
    CLK_WaitClockReady(CLK_CLKSTATUS_XTL12M_STB_Msk); 
 
    /* Set core clock as PLL_CLOCK from PLL */ 
    CLK_SetCoreClock(PLL_CLOCK); 
         
    SYS_LockReg(); 
} 
 
 
int main() 
{ 
    SYS_Init(); 
          CLK_SetSysTickClockSrc(CLK_CLKSEL0_STCLK_S_HXT_DIV2); 
          GPIO_SetMode(P3, BIT6, GPIO_PMD_OUTPUT); 
    while(1) 
                { 
                        P36 = 0 ; 
                        CLK_SysTickDelay(5000000);//设置5秒的延时,实际大概有0.5秒 
                        P36 = 1 ; 
                        CLK_SysTickDelay(5000000);//设置5秒的延时,实际大概有0.5秒 
                } 
} |   
     
  
 |