OpenEdv-开源电子网

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

关于LED0=!LED0;

[复制链接]

76

主题

355

帖子

0

精华

高级会员

Rank: 4

积分
671
金钱
671
注册时间
2012-9-19
在线时间
5 小时
发表于 2013-5-21 08:19:13 | 显示全部楼层 |阅读模式

这句话有点迷糊。。
#define LED0 PBout(5)// PB5

要操作PB5 接的小灯闪灭。 可是。LED0=!LED0;这句话怎么实现呢

求指导

具有资深STM32点灯技术,
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

头像被屏蔽

6168

主题

7036

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
19705
金钱
19705
注册时间
2012-12-27
在线时间
25 小时
发表于 2013-5-21 08:59:25 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

76

主题

355

帖子

0

精华

高级会员

Rank: 4

积分
671
金钱
671
注册时间
2012-9-19
在线时间
5 小时
 楼主| 发表于 2013-5-21 09:23:32 | 显示全部楼层
回复【2楼】xouou_53320:
---------------------------------
还是没理解。。我就不懂 =! 这东西啥意思。。理解成取反的话,那他本身是一个宏。。宏取反成啥了
具有资深STM32点灯技术,
回复 支持 反对

使用道具 举报

86

主题

984

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1850
金钱
1850
注册时间
2013-4-15
在线时间
163 小时
发表于 2013-5-21 09:30:47 | 显示全部楼层
回复【3楼】敌害:
---------------------------------
看来我终于能回帖替别人解答问题了,LED0=!LED0写成另外一种形式你就理解了,另外一种写法是这样的LED0=(!LED0);这是因为!(非)的优先级比=的优先级高,所以先把LED0取反,然后把取反后的值再重新赋给LED0,明白了不?
合肥-文盲
回复 支持 反对

使用道具 举报

86

主题

984

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1850
金钱
1850
注册时间
2013-4-15
在线时间
163 小时
发表于 2013-5-21 09:38:46 | 显示全部楼层
回复【4楼】合肥-文盲:
---------------------------------
其实宏定义很简单,就像给一个人起了一个小名字而已,不如:有个人叫张小明,我来一个宏定义,#define 小明  张小明,经过宏定义以后,此时小明就是张小明的另外一个代号了,此时(!小明)也就相当于对张小明取反了,就是这样的,此题也就是对PB5取反再把取反的结果赋值给PB5
合肥-文盲
回复 支持 反对

使用道具 举报

头像被屏蔽

6168

主题

7036

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
19705
金钱
19705
注册时间
2012-12-27
在线时间
25 小时
发表于 2013-5-21 09:43:40 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

76

主题

355

帖子

0

精华

高级会员

Rank: 4

积分
671
金钱
671
注册时间
2012-9-19
在线时间
5 小时
 楼主| 发表于 2013-5-21 11:29:10 | 显示全部楼层
回复【6楼】xouou_53320:
---------------------------------
是了。。=! 是逻辑的取反。我懂了
具有资深STM32点灯技术,
回复 支持 反对

使用道具 举报

76

主题

355

帖子

0

精华

高级会员

Rank: 4

积分
671
金钱
671
注册时间
2012-9-19
在线时间
5 小时
 楼主| 发表于 2013-5-21 11:29:36 | 显示全部楼层
回复【5楼】合肥-文盲:
---------------------------------
讲解的很详细。。谢谢
具有资深STM32点灯技术,
回复 支持 反对

使用道具 举报

76

主题

355

帖子

0

精华

高级会员

Rank: 4

积分
671
金钱
671
注册时间
2012-9-19
在线时间
5 小时
 楼主| 发表于 2014-5-15 09:24:24 | 显示全部楼层
回复【6楼】xouou_53320:
---------------------------------
你看啊。STM32 不可定义一个位也就是不能随便就sbit A=0; 如果我在STM32里。想位操作。像LED这样的宏定义的位操作。如果 LED=0; !LED 是取反。。。逻辑取反。如果我改成 ~LED 这成啥了?成11111110 ?
具有资深STM32点灯技术,
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-8 07:12

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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