OpenEdv-开源电子网

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

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

[复制链接]

33

主题

310

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
495
金钱
495
注册时间
2016-12-31
在线时间
63 小时
发表于 2018-4-4 14:38:53 | 显示全部楼层 |阅读模式
5金钱
我看原子哥上面的例程是这样写的:
//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这两个位吗??还是我理解错了?


IO口输出模式寄存器

IO口输出模式寄存器

最佳答案

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

左移18位不是刚好在19 18那个位置吗,你怎么算的
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

0

主题

192

帖子

0

精华

高级会员

Rank: 4

积分
582
金钱
582
注册时间
2017-6-2
在线时间
192 小时
发表于 2018-4-4 14:38:54 | 显示全部楼层
左移18位不是刚好在19 18那个位置吗,你怎么算的
回复

使用道具 举报

1

主题

882

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3071
金钱
3071
注册时间
2018-2-7
在线时间
285 小时
发表于 2018-4-4 14:48:14 | 显示全部楼层
3<<(9*2) 不就是设置的18、19位吗?
回复

使用道具 举报

33

主题

310

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
495
金钱
495
注册时间
2016-12-31
在线时间
63 小时
 楼主| 发表于 2018-4-4 14:49:20 | 显示全部楼层
jkd405 发表于 2018-4-4 14:43
左移18位不是刚好在19 18那个位置吗,你怎么算的

谢谢指正,发现移位算错了
回复

使用道具 举报

33

主题

310

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
495
金钱
495
注册时间
2016-12-31
在线时间
63 小时
 楼主| 发表于 2018-4-4 14:50:35 | 显示全部楼层

谢谢指正,发现移位算错了
回复

使用道具 举报

33

主题

310

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
495
金钱
495
注册时间
2016-12-31
在线时间
63 小时
 楼主| 发表于 2018-4-4 14:51:18 | 显示全部楼层

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

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-20 23:14

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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