OpenEdv-开源电子网

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

不用位带操作如何对GPIO取反,使状态翻转

[复制链接]

10

主题

41

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
247
金钱
247
注册时间
2015-3-19
在线时间
52 小时
发表于 2015-12-31 15:11:13 | 显示全部楼层 |阅读模式
1金钱
自己刚打了一块原子哥的的MINI板,教程开始讲到的位带操作很简洁。但是如果我不使用位带操作改如何控制GPIO的状态翻转呢?

手工焊接MINI板

手工焊接MINI板

最佳答案

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

GPIO_WriteBit(GPIOA, GPIO_Pin_0, (BitAction)~GPIO_ReadOutputDataBit(GPIOA, GPIO_Pin_0))
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

16

主题

73

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
214
金钱
214
注册时间
2015-12-21
在线时间
18 小时
发表于 2015-12-31 15:11:14 | 显示全部楼层
GPIO_WriteBit(GPIOA, GPIO_Pin_0, (BitAction)~GPIO_ReadOutputDataBit(GPIOA, GPIO_Pin_0))
回复

使用道具 举报

2

主题

33

帖子

0

精华

初级会员

Rank: 2

积分
164
金钱
164
注册时间
2015-12-26
在线时间
28 小时
发表于 2015-12-31 15:37:49 | 显示全部楼层
用库函数呗
回复

使用道具 举报

2

主题

391

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1957
金钱
1957
注册时间
2014-8-8
在线时间
307 小时
发表于 2015-12-31 15:38:11 | 显示全部楼层
没有比位带操作更好的方法了,有一个方法是自己定义一个比如INT16U的数据作为IO输出的状态标志,然后写个关于IO写的操作函数自己排列一下,一个循环移位赋值给相应设置。
回复

使用道具 举报

16

主题

73

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
214
金钱
214
注册时间
2015-12-21
在线时间
18 小时
发表于 2015-12-31 16:23:11 | 显示全部楼层
GPIO_WriteBit(GPIOA, GPIO_Pin_0, (BitAction) GPIO_ReadOutputDataBit(GPIOA, GPIO_Pin_0))
回复

使用道具 举报

1

主题

2

帖子

0

精华

新手入门

积分
28
金钱
28
注册时间
2015-11-20
在线时间
0 小时
发表于 2015-12-31 16:25:30 | 显示全部楼层
读取 取反  赋值
回复

使用道具 举报

22

主题

180

帖子

1

精华

高级会员

Rank: 4

积分
616
金钱
616
注册时间
2015-6-29
在线时间
101 小时
发表于 2015-12-31 19:21:15 | 显示全部楼层
GPIOx->ODR ^= GPIO_Pin;
我是菜鸟
回复

使用道具 举报

3

主题

130

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
373
金钱
373
注册时间
2015-3-7
在线时间
43 小时
发表于 2016-1-2 00:19:35 | 显示全部楼层
可以设置一个标志位,每进一次LED状态,取反一次。
为人莫作千年计,三十河东四十西,莫欺少年穷。
回复

使用道具 举报

3

主题

33

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
436
金钱
436
注册时间
2015-1-13
在线时间
70 小时
发表于 2016-1-2 08:49:22 来自手机 | 显示全部楼层
用位操作!
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-21 23:04

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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