关于STM32 ODR寄存器操作

[复制链接]
1648|10
 楼主| blong75 发表于 2015-7-21 15:10 | 显示全部楼层 |阅读模式
求助!!!在函数中为什么GPIOB->ODR |=1<<8;可以使PB8输出高电平,而用GPIOB->ODR |=0x0100;不能使PB8输出高电平?如果我想同时使PB8输出高和PB5输出低该怎么操作?本人是初学者请高手指教ODR寄存器的使用方法
STM32初学者 发表于 2015-7-21 17:35 | 显示全部楼层
看下中文参考手册

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
蜕变吧 发表于 2015-7-22 08:32 | 显示全部楼层
你可以用1<<8|1<<5达到这个目的。
邓布利多 发表于 2015-7-22 08:34 | 显示全部楼层
GPIOB->ODR |=0x0100;也可以输出高电平。绝对是楼主不知道哪里错了。两者的区别就是,前者不用刻意的去算,交给了电脑。
蜕变吧 发表于 2015-7-22 08:35 | 显示全部楼层
看错了,你是要PB8输出高和PB5输出低,不是高的时候,不是默认就是低的么
qinweixing 发表于 2015-7-22 12:22 | 显示全部楼层
这是C语言的问题,不关STM32什么事
 楼主| blong75 发表于 2015-7-28 10:38 | 显示全部楼层
邓布利多 发表于 2015-7-22 08:34
GPIOB->ODR |=0x0100;也可以输出高电平。绝对是楼主不知道哪里错了。两者的区别就是,前者不用刻意的去算, ...

关了重新编译一下就好了,不知道问题。
 楼主| blong75 发表于 2015-7-28 10:39 | 显示全部楼层
蜕变吧 发表于 2015-7-22 08:35
看错了,你是要PB8输出高和PB5输出低,不是高的时候,不是默认就是低的么

默认总觉得不是那么的安全,重新赋值一遍才可以。
 楼主| blong75 发表于 2015-7-28 10:39 | 显示全部楼层
qinweixing 发表于 2015-7-22 12:22
这是C语言的问题,不关STM32什么事

确实是纯c的问题。
邓布利多 发表于 2015-8-25 21:42 | 显示全部楼层
blong75 发表于 2015-7-28 10:38
关了重新编译一下就好了,不知道问题。

编译环境的问题,是最大的问题。
 楼主| blong75 发表于 2015-8-29 09:40 | 显示全部楼层
邓布利多 发表于 2015-8-25 21:42
编译环境的问题,是最大的问题。

果然是,各种莫名其妙的问题。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

10

主题

83

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部