OpenEdv-开源电子网

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

新手求教一个延时函数

[复制链接]

7

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
70
金钱
70
注册时间
2015-10-22
在线时间
9 小时
发表于 2015-12-4 17:12:47 | 显示全部楼层 |阅读模式
5金钱
void Soft_delay_us(u16 time)
{    
   u32 i;  
   while(time--)
   {
      i=8;  //自己定义  
      while(i--){};
        __nop();
        __nop();
        __nop();
        __nop();
   }
}
请问上边的__nop()函数怎么理解,搜了一下说是可以当空指令,那应该运行很快啊,怎么实现微妙延时的呢

最佳答案

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

不需要精确延时这种空指令或是执行一些++或是--的计算就可以。精确延时还是用定时器甚至外部时钟
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

2178

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3323
金钱
3323
注册时间
2013-7-19
在线时间
195 小时
发表于 2015-12-4 17:12:48 | 显示全部楼层
不需要精确延时这种空指令或是执行一些++或是--的计算就可以。精确延时还是用定时器甚至外部时钟
回复

使用道具 举报

22

主题

2251

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4480
金钱
4480
注册时间
2013-4-22
在线时间
337 小时
发表于 2015-12-4 17:18:07 | 显示全部楼层
就是空指令喽,你想一下执行每一行代码是不是需要时间,既然需要时间,是不是可以堆积起来做延时呢
回复

使用道具 举报

15

主题

786

帖子

5

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3223
金钱
3223
注册时间
2015-7-26
在线时间
811 小时
发表于 2015-12-4 18:40:18 | 显示全部楼层
一个__nop()执行时间是一个指令周期
我的博客:http://blog.csdn.net/itdo_just
回复

使用道具 举报

7

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
70
金钱
70
注册时间
2015-10-22
在线时间
9 小时
 楼主| 发表于 2015-12-5 17:17:54 | 显示全部楼层
回复【2楼】三叶草:
---------------------------------
额,多谢指教
回复

使用道具 举报

7

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
70
金钱
70
注册时间
2015-10-22
在线时间
9 小时
 楼主| 发表于 2015-12-5 17:18:13 | 显示全部楼层
回复【3楼】ricefat:
---------------------------------
多谢指教
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-21 01:37

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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