OpenEdv-开源电子网

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

STM32 的GPIO输出取反(BitAction)问题

[复制链接]

6

主题

19

帖子

0

精华

初级会员

Rank: 2

积分
141
金钱
141
注册时间
2015-9-28
在线时间
16 小时
发表于 2015-10-4 23:19:17 | 显示全部楼层 |阅读模式
5金钱
刚入门,使用的是库,发现mini stm32的开发板库开发原子哥用的库和寄存器混用的,风格不统一。借用别人的库例程时发现,在写按键程序时
代码如下:
[mw_shl_code=c,true]GPIO_WriteBit(GPIOD, GPIO_Pin_8,(BitAction)((1-GPIO_ReadOutputDataBit(GPIOD, GPIO_Pin_8))));[/mw_shl_code]
发现对管脚进行按位取反时,前面的强制转换BitAction加和不加,效果一样。
查了资料说:
bitactiion就是一个枚举类型的变量,表示这个位是高电平还是低电平。
在库文件stm32f10x_gpio中,有说:
typedef enum
{ Bit_RESET = 0,
Bit_SET
}BitAction;
那么问题来了,加BitAction和不加有什么区别呢?

最佳答案

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

LZ理解有误。。 BitAction是将操作对象转换为位域的意思。 如果操作对象本身就是位变量,加不加没什么区别;可如果操作对象是8/16或32位的时候,则是有区别的。。
——By Dr. Heinz Doofenshmirtz
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

1

主题

67

帖子

0

精华

初级会员

Rank: 2

积分
102
金钱
102
注册时间
2015-6-6
在线时间
2 小时
发表于 2015-10-4 23:19:18 | 显示全部楼层
LZ理解有误。。

BitAction是将操作对象转换为位域的意思。

如果操作对象本身就是位变量,加不加没什么区别;可如果操作对象是8/16或32位的时候,则是有区别的。。
三更有梦书当枕,千里怀人月在峰!
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165352
金钱
165352
注册时间
2010-12-1
在线时间
2108 小时
发表于 2015-10-5 16:51:18 | 显示全部楼层
没明白你的意思。。。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

6

主题

19

帖子

0

精华

初级会员

Rank: 2

积分
141
金钱
141
注册时间
2015-9-28
在线时间
16 小时
 楼主| 发表于 2015-10-6 13:29:29 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
我改了一下描述,还请原子哥解答
——By Dr. Heinz Doofenshmirtz
回复

使用道具 举报

6

主题

19

帖子

0

精华

初级会员

Rank: 2

积分
141
金钱
141
注册时间
2015-9-28
在线时间
16 小时
 楼主| 发表于 2015-10-6 15:34:53 | 显示全部楼层
回复【4楼】laidaihua:
---------------------------------
那就是说,就我这个操作没什么区别
——By Dr. Heinz Doofenshmirtz
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165352
金钱
165352
注册时间
2010-12-1
在线时间
2108 小时
发表于 2015-10-6 15:48:40 | 显示全部楼层
支持3楼说法。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

2

主题

11

帖子

0

精华

初级会员

Rank: 2

积分
50
金钱
50
注册时间
2016-2-26
在线时间
8 小时
发表于 2016-3-24 10:08:08 | 显示全部楼层
哇  感谢 在网上查了bitaction的资料 都没有明确的解释

还是正点原子论坛给力啊!!!
回复

使用道具 举报

0

主题

2

帖子

0

精华

新手上路

积分
25
金钱
25
注册时间
2023-7-30
在线时间
1 小时
发表于 2023-7-30 00:35:30 | 显示全部楼层
感谢解答
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-24 04:19

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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