OpenEdv-开源电子网

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

stm32f1的IIC通信要用专用的IIC外设接口的IO口才可以吗?

[复制链接]

1

主题

31

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
403
金钱
403
注册时间
2018-1-30
在线时间
89 小时
发表于 2018-8-5 18:26:10 | 显示全部楼层 |阅读模式
1金钱
战舰版的IIC例子用的是PB6,PB7脚,这是IIC所在的IO口,为什么我改成PB12,PB13就不行呢,我确定其他代码都改对了的。难道一定要用专用的IIC接口才行?IIC不都是IO口模拟的吗?为什么我改成PB12,PB13就不行呢?

最佳答案

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

战舰的PB12接了W25Q128的片选信号,说明书上不建议做普通IO使用,PB13是SPI2的时钟, 你非要用做IIC,可能有冲突吧。 另外,IIC并不都是用IO模拟的,PB6,PB7就是硬IIC,不需要模拟的。 你如果有难言之隐,不能用现成的, 就看看还有什么空闲的IO,自己模拟吧。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

31

主题

1955

帖子

3

精华

论坛元老

Rank: 8Rank: 8

积分
4524
金钱
4524
注册时间
2018-5-11
在线时间
947 小时
发表于 2018-8-5 18:26:11 | 显示全部楼层
战舰的PB12接了W25Q128的片选信号,说明书上不建议做普通IO使用,PB13是SPI2的时钟,
你非要用做IIC,可能有冲突吧。
另外,IIC并不都是用IO模拟的,PB6,PB7就是硬IIC,不需要模拟的。
你如果有难言之隐,不能用现成的, 就看看还有什么空闲的IO,自己模拟吧。
我的开源链接 https://github.com/ShuifaHe/STM32.git  请关注,点赞支持哦。
回复

使用道具 举报

51

主题

2166

帖子

2

精华

论坛元老

Rank: 8Rank: 8

积分
10653
金钱
10653
注册时间
2017-4-14
在线时间
2780 小时
发表于 2018-8-5 19:22:00 | 显示全部楼层
硬件外设引脚冲突干扰吧,看看原理图,这俩引脚干嘛的,要不就换俩闲的io
回复

使用道具 举报

1

主题

31

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
403
金钱
403
注册时间
2018-1-30
在线时间
89 小时
 楼主| 发表于 2018-8-5 20:06:40 | 显示全部楼层
谢谢上面两位的提醒
回复

使用道具 举报

10

主题

22

帖子

0

精华

新手上路

积分
45
金钱
45
注册时间
2018-3-9
在线时间
28 小时
发表于 2018-8-5 21:26:17 | 显示全部楼层
你肯定是这个忘了改了吧?
//IO·½ÏòéèÖÃ
#define SDA_IN()  {GPIOB->CRH&=0XFFFF0FFF;GPIOB->CRH|=8<<12;}
#define SDA_OUT() {GPIOB->CRH&=0XFFFF0FFF;GPIOB->CRH|=3<<12;}


在.h文件有这个,初学者一般都忘记改
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-13 06:56

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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