OpenEdv-开源电子网

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

STM32内核的 3级流水线对 NOP这种延时函数有什么影响?

[复制链接]

68

主题

165

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
388
金钱
388
注册时间
2017-3-2
在线时间
156 小时
发表于 2017-9-21 09:51:57 | 显示全部楼层 |阅读模式
1金钱
之前 51或者 430单片机的短时间延时可以用 NOP来实现,但是现在 STM32的内核有 3级流水线,对NOP这种指令应该有影响的吧,但是具体怎么影响不清楚,

比如:

NOP;
NOP;
NOP;
NOP;
NOP;
NOP;

有6条 NOP指令,在 STM32下执行,会需要多少个周期,小于6个吗?还是多少?

最佳答案

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

别的不说,看看这篇文章:http://www.cnblogs.com/pheye/p/5630938.html
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

头像被屏蔽

12

主题

167

帖子

0

精华

禁止访问

积分
517
金钱
517
注册时间
2017-5-30
在线时间
110 小时
发表于 2017-9-21 09:51:58 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复

使用道具 举报

16

主题

339

帖子

0

精华

高级会员

Rank: 4

积分
868
金钱
868
注册时间
2017-6-18
在线时间
168 小时
发表于 2017-9-21 19:37:21 来自手机 | 显示全部楼层
因为根本就用不着,STM32下神马功能没有,缺资源吗?
回复

使用道具 举报

16

主题

339

帖子

0

精华

高级会员

Rank: 4

积分
868
金钱
868
注册时间
2017-6-18
在线时间
168 小时
发表于 2017-9-21 19:40:47 来自手机 | 显示全部楼层
大量用延时,就说明你不适合用STM32
回复

使用道具 举报

16

主题

339

帖子

0

精华

高级会员

Rank: 4

积分
868
金钱
868
注册时间
2017-6-18
在线时间
168 小时
发表于 2017-9-21 19:43:46 来自手机 | 显示全部楼层
想用系统,第一避免用延时,第二避免用中断
回复

使用道具 举报

68

主题

165

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
388
金钱
388
注册时间
2017-3-2
在线时间
156 小时
 楼主| 发表于 2017-9-21 20:22:45 | 显示全部楼层
wlq19911021 发表于 2017-9-21 19:37
因为根本就用不着,STM32下神马功能没有,缺资源吗?

我是借这个问题问一下流水线对指令执行时间的影响是怎样的,和延时没关系
回复

使用道具 举报

16

主题

339

帖子

0

精华

高级会员

Rank: 4

积分
868
金钱
868
注册时间
2017-6-18
在线时间
168 小时
发表于 2017-9-22 01:23:40 来自手机 | 显示全部楼层
问题是,这不是考虑的事
回复

使用道具 举报

68

主题

165

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
388
金钱
388
注册时间
2017-3-2
在线时间
156 小时
 楼主| 发表于 2017-9-22 09:22:36 | 显示全部楼层
本帖最后由 kokoromi 于 2017-9-22 09:27 编辑

                              
回复

使用道具 举报

头像被屏蔽

12

主题

167

帖子

0

精华

禁止访问

积分
517
金钱
517
注册时间
2017-5-30
在线时间
110 小时
发表于 2017-9-23 11:47:08 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复

使用道具 举报

68

主题

165

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
388
金钱
388
注册时间
2017-3-2
在线时间
156 小时
 楼主| 发表于 2017-9-23 20:43:47 | 显示全部楼层
NULLFF 发表于 2017-9-23 11:53
别的不说,看看这篇文章:http://www.cnblogs.com/pheye/p/5630938.html

非常感谢~

其实问这个问题是为了实现精确的 纳秒级 延时,后来发现NOP由于流水线的存在变得不准,你这个文章讲的不错,不过我后来用 M4内核自带的 DWT里的 CYCCNT实现的 ns延时,当然也不是特别准,会比实际值略大,毕竟指令执行周期都是ns级,没办法。
回复

使用道具 举报

16

主题

339

帖子

0

精华

高级会员

Rank: 4

积分
868
金钱
868
注册时间
2017-6-18
在线时间
168 小时
发表于 2017-9-26 21:26:34 来自手机 | 显示全部楼层
NULLFF 发表于 2017-9-23 11:47
又有人开始胡说八道了,软件延时咋啦,只要有软件延时就不给用STM32了?谁家的道理?
可能几百微妙不要, ...

呵呵,小学生。
回复

使用道具 举报

头像被屏蔽

12

主题

167

帖子

0

精华

禁止访问

积分
517
金钱
517
注册时间
2017-5-30
在线时间
110 小时
发表于 2017-9-27 08:20:12 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复

使用道具 举报

33

主题

984

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8028
金钱
8028
注册时间
2014-8-13
在线时间
1595 小时
发表于 2017-9-27 08:33:49 | 显示全部楼层
wlq19911021 发表于 2017-9-21 19:43
想用系统,第一避免用延时,第二避免用中断

延时和中断都是要用的。用了延时和中断,能实现更丰富的功能。

延时个中断就是块铁,放着也是放着,用好了就是伤敌的利刃,用不好就是自裁的短刀。

东西是好东西,看怎么用。
回复

使用道具 举报

16

主题

339

帖子

0

精华

高级会员

Rank: 4

积分
868
金钱
868
注册时间
2017-6-18
在线时间
168 小时
发表于 2017-9-27 12:11:11 来自手机 | 显示全部楼层
mack13013 发表于 2017-9-27 08:33
延时和中断都是要用的。用了延时和中断,能实现更丰富的功能。

延时个中断就是块铁,放着也是放着,用 ...

少用,不是不用。不用是不可能的,这是一种概念。能直接改变代码效率,与不确定因素的利器。嵌入式平台众多,软件延时就像个BUG. STM32不像51,什么硬件功能没有,NOP还真没有用武之地,既不用模拟外设,也不用虚构功能
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-19 00:11

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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