利用systick定时器获取微秒计数
直接上代码吧:
usTicks = clocks.SYSCLK_Frequency / 1000000;
SysTick_Config(SystemCoreClock / 1000); //系统滴答时钟
void SysTick_Handler(void)
{
SysTick_count++;
}
uint32_t GetSysTime_us(void)
{
register uint32_t ms, cycle_cnt;
do {
ms = SysTick_count;
cycle_cnt = SysTick->VAL;
} while (ms != SysTick_count);
return (ms * 1000) + (usTicks * 1000 - cycle_cnt) / usTicks;
}
time[0] = GetSysTime_us();
.........
time[0] = GetSysTime_us() - time[0];
