这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » if(a==1)与if(a!=1)的实现区别?

共32条 3/4 1 2 3 4 跳转至
高工
2013-05-09 20:22:11     打赏
21楼

跟编译器没什么关系

在于执行这段代码前,GPIOB_0脚的电平状态


如果是0,则是LZ现在情况,

如果是1则只能执行(1)


不妨做个实验,在初始化的时候,加一句GPIOB_0置1

再看程序执行情况


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

LZ写第一段代码够无聊的

实在想不到这段代码有什么用


高工
2013-05-09 21:22:07     打赏
22楼
让楼主见笑了,我的本意是反转IO来着,由于粗心代码(1)和(2)的位置颠倒了,造成了今天的结果,回头我在试试先给他赋个值在进行if判断,多谢楼主的指点,在此表示衷心的感谢。

菜鸟
2013-05-09 22:48:55     打赏
23楼

不懂


高工
2013-05-09 23:02:17     打赏
24楼
慢慢来,凡事有个过程,相信自己能行的

工程师
2013-05-10 08:46:26     打赏
25楼

菜鸟
2013-05-10 17:07:28     打赏
26楼
请问LZ用的这是什么仿真软件呀?谢谢!

高工
2013-05-10 18:54:24     打赏
27楼
IAR6.3版

菜鸟
2013-05-12 20:32:59     打赏
28楼

楼主是想通过定时器中断,利用GPIO输出方波吧?

个人感觉和编译器优化没什么关系;

GPIOB的PIN0管脚是不是只在你的这个中断处理函数中控制啊?

如果是的话,估计就是因为你得管脚初始的时候状态是0,后来你得逻辑做的也是0然后置0;所以==1的code一直不能得到执行;

我个人感觉这个可能性比较大。

 


菜鸟
2013-05-12 22:15:25     打赏
29楼
长见识了。

菜鸟
2013-08-31 23:06:54     打赏
30楼
上面的说的很对,我也碰到过这样的问题,是被编译器优化了,变编译器设置一下就可以

共32条 3/4 1 2 3 4 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]