[方案相关]

【华大测评】官方延时函数Ddl_Delay1xx精度测量

[复制链接]
2107|10
手机看帖
扫描二维码
随时随地手机跟帖
纪国圣|  楼主 | 2021-12-11 11:00 | 显示全部楼层 |阅读模式
今天看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。测量结果如下:
1.PNG
误差挺大的,让人意外。
HC32F460_时间测量.zip (1001.3 KB)

使用特权

评论回复
cyclefly| | 2021-12-11 16:51 | 显示全部楼层
这个不是串口打印的么?
下载看看怎么测试的,学习下

使用特权

评论回复
查询无结果| | 2021-12-12 13:11 | 显示全部楼层
还是得自己用滴答定时器延时

使用特权

评论回复
martinhu| | 2021-12-12 21:07 | 显示全部楼层
官方库函数里面,有两个delay函数,一个是软件指令的delay,一个是systick定时器做的delay,
你测试的是软件指令的delay,肯定有误差!
如果想要准的,可以用systick或者其他定时器做delay!!!

使用特权

评论回复
tfqi| | 2022-1-10 13:24 | 显示全部楼层
大概能相差多少呢

使用特权

评论回复
wiba| | 2022-1-10 13:32 | 显示全部楼层
为什么有时候会卡在延时函数里边呢

使用特权

评论回复
qcliu| | 2022-1-10 13:52 | 显示全部楼层
用systick做延时

使用特权

评论回复
zljiu| | 2022-1-10 14:20 | 显示全部楼层
没有其他代码进行干扰吗

使用特权

评论回复
coshi| | 2022-1-10 14:36 | 显示全部楼层
还得刨除输出传输用的时间

使用特权

评论回复
mdc9| | 2022-5-18 15:50 | 显示全部楼层
martinhu 发表于 2021-12-12 21:07
官方库函数里面,有两个delay函数,一个是软件指令的delay,一个是systick定时器做的delay,
你测试的是软 ...

systick 最小可以设定1us延时么

使用特权

评论回复
mdc9| | 2022-5-18 17:52 | 显示全部楼层
mdc9 发表于 2022-5-18 15:50
systick 最小可以设定1us延时么

感谢【qjp1988113】的分享

下面是我用他代码 测试的结果

华大延时函数评测.jpg
delay_us(1000).jpg
delay_ms(100).jpg

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

77

主题

401

帖子

4

粉丝