OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6511|回复: 14

【求助】为什么设置的延迟函数和实际的延迟差距很大,新人求解答,谢谢!

[复制链接]

1

主题

8

帖子

0

精华

新手入门

积分
12
金钱
12
注册时间
2021-10-24
在线时间
2 小时
发表于 2021-10-24 21:04:04 | 显示全部楼层 |阅读模式
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

1

主题

8

帖子

0

精华

新手入门

积分
12
金钱
12
注册时间
2021-10-24
在线时间
2 小时
 楼主| 发表于 2021-10-24 21:08:42 | 显示全部楼层
实际想延迟500ms,但是debug的数据达到了8.4sec,求解!

延迟数据debug

延迟数据debug
回复

使用道具 举报

13

主题

644

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1976
金钱
1976
注册时间
2021-4-16
在线时间
505 小时
发表于 2021-10-25 11:12:37 | 显示全部楼层
是原子的开发板的话,可以直接用原子的例程试试看先。
回复

使用道具 举报

3

主题

177

帖子

0

精华

高级会员

Rank: 4

积分
774
金钱
774
注册时间
2019-11-27
在线时间
87 小时
发表于 2021-10-25 11:12:57 | 显示全部楼层
printf出来看时间间隔不就知道了
个人CSDN 首页https://blog.csdn.net/qq_41930631
回复

使用道具 举报

1

主题

8

帖子

0

精华

新手入门

积分
12
金钱
12
注册时间
2021-10-24
在线时间
2 小时
 楼主| 发表于 2021-10-25 12:20:27 | 显示全部楼层
疾如风 发表于 2021-10-25 11:12
是原子的开发板的话,可以直接用原子的例程试试看先。

用例程看了,例程的延迟时间是对的,是不是工程哪块要设置什么?
回复

使用道具 举报

1

主题

8

帖子

0

精华

新手入门

积分
12
金钱
12
注册时间
2021-10-24
在线时间
2 小时
 楼主| 发表于 2021-10-25 12:21:10 | 显示全部楼层
Cheng0717 发表于 2021-10-25 11:12
printf出来看时间间隔不就知道了

延迟500ms,实际上延迟了5秒左右。不知道哪块的问题。。
回复

使用道具 举报

3

主题

177

帖子

0

精华

高级会员

Rank: 4

积分
774
金钱
774
注册时间
2019-11-27
在线时间
87 小时
发表于 2021-10-25 14:09:02 | 显示全部楼层
卡库先生 发表于 2021-10-25 12:21
延迟500ms,实际上延迟了5秒左右。不知道哪块的问题。。

你把500改成50,看看是不是延时500ms

个人CSDN 首页https://blog.csdn.net/qq_41930631
回复

使用道具 举报

15

主题

1061

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
3606
金钱
3606
注册时间
2019-8-14
在线时间
1052 小时
发表于 2021-10-25 17:47:27 | 显示全部楼层
卡库先生 发表于 2021-10-24 21:08
实际想延迟500ms,但是debug的数据达到了8.4sec,求解!

代码停留在红点的地方后看下时间是多少,运行到15行看下时间,前后时间减去就是500ms了
回复

使用道具 举报

1

主题

8

帖子

0

精华

新手入门

积分
12
金钱
12
注册时间
2021-10-24
在线时间
2 小时
 楼主| 发表于 2021-10-25 20:34:34 | 显示全部楼层
Cheng0717 发表于 2021-10-25 14:09
你把500改成50,看看是不是延时500ms

对的,是这样的。有解决方法吗,谢谢!
回复

使用道具 举报

1

主题

8

帖子

0

精华

新手入门

积分
12
金钱
12
注册时间
2021-10-24
在线时间
2 小时
 楼主| 发表于 2021-10-25 20:35:53 | 显示全部楼层
hou18 发表于 2021-10-25 17:47
代码停留在红点的地方后看下时间是多少,运行到15行看下时间,前后时间减去就是500ms了

13行的时候也就0.001,反正很小。到15行就8.4了。
回复

使用道具 举报

1

主题

8

帖子

0

精华

新手入门

积分
12
金钱
12
注册时间
2021-10-24
在线时间
2 小时
 楼主| 发表于 2021-10-25 22:36:38 | 显示全部楼层
Stm32_Clock_Init(336,8,2,7);//设置系统时钟,168Mhz

加上这句代码就好了,但是不知道原因,求大神解答。
不设置168Mhz,那系统难道默认的时钟是多少。。导致延迟不对
回复

使用道具 举报

1

主题

8

帖子

0

精华

新手入门

积分
12
金钱
12
注册时间
2021-10-24
在线时间
2 小时
 楼主| 发表于 2021-10-25 22:39:38 | 显示全部楼层
回复

使用道具 举报

4

主题

55

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
367
金钱
367
注册时间
2020-6-12
在线时间
49 小时
发表于 2021-10-26 11:55:01 | 显示全部楼层
如果是硬件仿真的话,肯定是不准的,大概是实际的12~15倍时间
回复

使用道具 举报

3

主题

177

帖子

0

精华

高级会员

Rank: 4

积分
774
金钱
774
注册时间
2019-11-27
在线时间
87 小时
发表于 2021-10-27 09:06:02 | 显示全部楼层
卡库先生 发表于 2021-10-25 22:36
Stm32_Clock_Init(336,8,2,7);//设置系统时钟,168Mhz

加上这句代码就好了,但是不知道原因,求大神解答 ...

之前应该是没有设置时钟,导致延时不准
个人CSDN 首页https://blog.csdn.net/qq_41930631
回复

使用道具 举报

0

主题

668

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1926
金钱
1926
注册时间
2021-8-13
在线时间
262 小时
发表于 2021-10-29 14:44:49 | 显示全部楼层
得使能时钟且配置时钟,不然会出问题
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-26 19:41

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表