OpenEdv-开源电子网

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

GPIO推挽输出方式位带操作可以这样吗

[复制链接]

8

主题

21

帖子

0

精华

初级会员

Rank: 2

积分
91
金钱
91
注册时间
2014-8-15
在线时间
5 小时
发表于 2014-8-21 19:23:54 | 显示全部楼层 |阅读模式
5金钱


请问各位,位带操作可以这样操作吗?

最佳答案

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

不能这样操作。 首先,位带操作这样来写,比如PEout(0)最终都是映射到一个地址。也就是往这个地址写1,或者0 你这样写的话,就不知道是往哪个地址写了。。而且,对于地址你用或也没有任何可取的。。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

230

主题

1950

帖子

10

精华

论坛元老

Rank: 8Rank: 8

积分
4562
金钱
4562
注册时间
2010-12-14
在线时间
32 小时
发表于 2014-8-21 19:23:55 | 显示全部楼层
不能这样操作。
首先,位带操作这样来写,比如PEout(0)最终都是映射到一个地址。也就是往这个地址写1,或者0
你这样写的话,就不知道是往哪个地址写了。。而且,对于地址你用或也没有任何可取的。。
我是开源电子网?网站管理员,对网站有任何问题,请与我联系!QQ:389063473Email:389063473@qq.com
回复

使用道具 举报

42

主题

57

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
277
金钱
277
注册时间
2014-7-22
在线时间
3 小时
发表于 2014-8-21 20:38:53 | 显示全部楼层
回复【2楼】Admin:
---------------------------------
还不如寄存器操作
回复

使用道具 举报

8

主题

21

帖子

0

精华

初级会员

Rank: 2

积分
91
金钱
91
注册时间
2014-8-15
在线时间
5 小时
 楼主| 发表于 2014-8-22 16:51:47 | 显示全部楼层
回复【2楼】Admin:
---------------------------------
DAT(x)     {GPIOE->BSRR = x<<8 & 0xff00;GPIOE->BRR = ((~x)<<8) & 0xff00;} 
那如果用寄存器的话,当x=0X34,那么PE端口高8位引脚输出的应该就是00110100吧(从PE15开始往PE8)
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-4 11:55

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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