i2c问题 PBout(9) PBin(9) 输出输入的问题

2019-07-20 08:51发布

我看原子哥上面的例程是这样写的:
//IO方向设置
#define SDA_IN()  {GPIOB->MODER&=~(3<<(9*2));GPIOB->MODER|=0<<9*2;}        //PB9输入模式
#define SDA_OUT() {GPIOB->MODER&=~(3<<(9*2));GPIOB->MODER|=1<<9*2;} //PB9输出模式

按照我看一些资料这上面第一句话主要的作用是将位17、16配置为00,即输入模式。

但是我后面查看寄存器IO口手册发现一个问题,如果要配置PB9脚的话,不应该是配置位19、18这两个位吗??还是我理解错了?


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
jkd405
1楼-- · 2019-07-20 14:42
左移18位不是刚好在19 18那个位置吗,你怎么算的
HXYDJ
2楼-- · 2019-07-20 16:39
 精彩回答 2  元偷偷看……
arao和xiaomi
3楼-- · 2019-07-20 18:36
 精彩回答 2  元偷偷看……
arao和xiaomi
4楼-- · 2019-07-20 23:44
HXYDJ 发表于 2018-4-4 14:48
3

谢谢指正,发现移位算错了
arao和xiaomi
5楼-- · 2019-07-21 01:00
HXYDJ 发表于 2018-4-4 14:48
3

非常感谢,总在一些小问题上出错

一周热门 更多>