OpenEdv-开源电子网

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

原子哥求帮忙,关于1ms延时函数

[复制链接]

24

主题

257

帖子

0

精华

高级会员

Rank: 4

积分
771
金钱
771
注册时间
2017-2-19
在线时间
133 小时
发表于 2017-8-31 14:50:55 | 显示全部楼层 |阅读模式
1金钱
今天在做ADC实验,用JLink在线调试。如图 无标题4.png

这是在delay_ms(1)设置的端点,看下方时间,然后我就点击下一步,出现下图:
无标题3.png
这个时间相减已经达到 5ms多了,这个是咋回事呢?  是这个时间不准确,还是需要设置什么?

最佳答案

查看完整内容[请看2#楼]

今天终于解决了这个问题,发出来共大家使用。 用J-Link进行硬件仿真时,如何观察某个函数的运行时间。 1)按照下图配置,选择硬件仿真。注意红色框框,点击Settings进入第二步 2)模式选择SW模式,然后点击Trace选项,进行第三步 3)勾选红色框框,然后配置系统时钟为72M,我的是72M,所以配置为72M,进入第四步 4)进入Debug,设置断点,然后运行到断点停止,注意右下角t1的时间点击右键将t1清零,进入第五步 ...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

24

主题

257

帖子

0

精华

高级会员

Rank: 4

积分
771
金钱
771
注册时间
2017-2-19
在线时间
133 小时
 楼主| 发表于 2017-8-31 14:50:56 | 显示全部楼层
本帖最后由 刘东君 于 2017-9-5 16:47 编辑

今天终于解决了这个问题,发出来共大家使用。

用J-Link进行硬件仿真时,如何观察某个函数的运行时间。

1)按照下图配置,选择硬件仿真。注意红色框框,点击Settings进入第二步
1.png
2)模式选择SW模式,然后点击Trace选项,进行第三步
2.png
3)勾选红色框框,然后配置系统时钟为72M,我的是72M,所以配置为72M,进入第四步
3.png
4)进入Debug,设置断点,然后运行到断点停止,注意右下角t1的时间点击右键将t1清零,进入第五步
4.png
5.png
5)点击运行,观察时间。
6.png
6)时间误差非常小,希望大家又学到一招。




回复

使用道具 举报

24

主题

257

帖子

0

精华

高级会员

Rank: 4

积分
771
金钱
771
注册时间
2017-2-19
在线时间
133 小时
 楼主| 发表于 2017-8-31 14:53:24 | 显示全部楼层
这中间有 i++;i<A;但是应该没有好几ms吧?
回复

使用道具 举报

24

主题

257

帖子

0

精华

高级会员

Rank: 4

积分
771
金钱
771
注册时间
2017-2-19
在线时间
133 小时
 楼主| 发表于 2017-8-31 14:56:44 | 显示全部楼层
这个1ms,至关重要,有了这个1ms,我的采样显示非常稳定,没有这1ms,数码管显示乱跳 ,改为delay_us(500)也不可以,因为我的波形是20ms一个周期;是周期变化的?  我想知道是不是软件显示的不准,还是这1ms不准
回复

使用道具 举报

38

主题

196

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1177
金钱
1177
注册时间
2015-11-9
在线时间
249 小时
发表于 2017-8-31 15:03:39 | 显示全部楼层
刘东君 发表于 2017-8-31 14:56
这个1ms,至关重要,有了这个1ms,我的采样显示非常稳定,没有这1ms,数码管显示乱跳 ,改为delay_us(500) ...

目测是Option选项中的晶振没设置好
回复

使用道具 举报

24

主题

257

帖子

0

精华

高级会员

Rank: 4

积分
771
金钱
771
注册时间
2017-2-19
在线时间
133 小时
 楼主| 发表于 2017-8-31 16:06:56 | 显示全部楼层
shibinjie 发表于 2017-8-31 15:03
目测是Option选项中的晶振没设置好

1111111.png   
这里设置8M了啊?还有其他地方吗?

回复

使用道具 举报

38

主题

196

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1177
金钱
1177
注册时间
2015-11-9
在线时间
249 小时
发表于 2017-9-1 09:14:54 | 显示全部楼层
刘东君 发表于 2017-8-31 16:06
这里设置8M了啊?还有其他地方吗?

恩,其他应该没有了。坐等高人
回复

使用道具 举报

1

主题

84

帖子

0

精华

高级会员

Rank: 4

积分
529
金钱
529
注册时间
2015-7-21
在线时间
47 小时
发表于 2017-9-1 12:48:15 | 显示全部楼层
想测试delay_ms(1)是否正确,可以使用示波器看一下,比如让某一IO输出高低点评,以delay_ms(1)为间隔
一名合格的工程师一定要做到,代码虐我千百遍依然待她如初恋!
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-19 07:54

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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