uCOS的源码中并没有这个函数,在uCOS官方例程和一些学习板的程序中,这个函数出现在bsp.c中,一般跟硬件初始化相关。。
//获取CPU时钟频率,用作SysTick的参考频率 cpu_freq = BSP_ClkFreqGet(kCLOCK_CpuClk); CPU_CRITICAL_ENTER(); // 进入临界区 OS_CPU_SysTickInitFreq(cpu_freq); // 用CPU时钟初始化SysTick时钟 BSP_OS_TickDisable(); // 先失能滴答时钟 CPU_CRITICAL_EXIT(); // 退出临界区 } 一旦调用关中断和开...
如果CPU频率为528Mhz, 则计时时长约为 8.1秒。 4CPU_TS32_to_uSec与CPU_TS64_to_uSec函数 #if (CPU_CFG_TS_32_EN == DEF_ENABLED) CPU_INT64U CPU_TS32_to_uSec (CPU_TS32 ts_cnts) { CPU_INT64U ts_us; CPU_INT64U fclk_freq; fclk_freq = BSP_ClkFreqGet(kCLOCK_CpuClk); ts_us = ...
RCC.CpuClockFreq_Value=480000000 RCC.D1CPREFreq_Value=480000000 RCC.D1PPRE=RCC_APB3_DIV2 RCC.D2PPRE1=RCC_APB1_DIV2 RCC.D2PPRE2=RCC_APB2_DIV2 RCC.D3PPRE=RCC_APB4_DIV2 RCC.DFSDMACLkFreq_Value=240000000 RCC.DFSDMFreq_Value=120000000 RCC.DIVM1=5 RCC.DIVN1=192 RCC.DIVP1Freq_Value=480...
BSP_LED_Init(LED6);/* SysTick end of count event each 10ms */SystemCoreClock = HAL_RCC_GetHCLKFreq(); SysTick_Config(SystemCoreClock /100);/* Turn OFF all LEDs */BSP_LED_Off(LED4);BSP_LED_Off(LED3);BSP_LED_Off(LED5);BSP_LED_Off(LED6);/* Waiting User Button is pressed */...