今天看hc32f460_utility.c中官方给出的void Ddl_Delay1us(uint32_t u32Cnt)和void Ddl_Delay1ms(uint32_t u32Cnt)时,发现其函数注释说明其延时不是精确的:/**
*******************************************************************************
** \brief Delay function, delay 1us approximately
**
** \param [in] u32Cnt us
**
** \retval none
**
******************************************************************************/
/**
*******************************************************************************
** \brief Delay function, delay 1ms approximately
**
** \param [in] u32Cnt ms
**
** \retval none
**
******************************************************************************/
好奇其误差到底有多大,因此用TIMER02测量其精度。TIMER02的最小测量分辨率为0.02us。测量结果如下:
误差挺大的,让人意外。
HC32F460_时间测量.zip
(1001.3 KB)
|