OpenEdv-开源电子网

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

奇怪!else内外加延时效果不同

[复制链接]

7

主题

30

帖子

0

精华

初级会员

Rank: 2

积分
79
金钱
79
注册时间
2012-6-29
在线时间
0 小时
发表于 2012-8-15 15:13:32 | 显示全部楼层 |阅读模式
 我写的函数,在if_else语句中加延时和在外加延时效果不同
 程序编译通过,延时是必要的,根据原子哥的nrf24lo1无线例程改变
函数:
int main (void)
{
 /***初始化***/

while(1)

   if(***) 
    {***}              //用到外部中断资源
   
   else
    { delay_ms(1);}//此处加延时出错,实际功能无法实现
   
   delay_ms(1);     //此处加延时正确
 }                     //但和else同时加延时也出错,实际功能无法实现
}
大家知道这个区别在哪吗?
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

222

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
355
金钱
355
注册时间
2012-8-13
在线时间
32 小时
发表于 2012-8-15 15:33:24 | 显示全部楼层
区别是:前者为if()的条件不达的时候才执行,后者是无论什么时候都执行.
个人小店,弄了些大人玩具,希望各位老小玩童们喜欢。 http://autocute.taobao.com/
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2012-8-15 17:19:36 | 显示全部楼层
应该用:
if(1)
{
}else
{
}

if(0)
{
}else
{
}
这样有可比性
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

7

主题

30

帖子

0

精华

初级会员

Rank: 2

积分
79
金钱
79
注册时间
2012-6-29
在线时间
0 小时
 楼主| 发表于 2012-8-16 10:34:24 | 显示全部楼层
回复【2楼】lura2:
---------------------------------
这个我知道,我奇怪的是在else{}里面加延时就无法实现中断功能了//此时else{}外部也有延时
回复 支持 反对

使用道具 举报

15

主题

138

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
227
金钱
227
注册时间
2012-8-10
在线时间
2 小时
发表于 2012-8-16 20:52:05 | 显示全部楼层
"else{}里面加延时就无法实现中断功能" ,你确定??、具体描述下。。
学海无涯,回头是岸
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-21 05:41

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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