OpenEdv-开源电子网

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

iic软件模拟

[复制链接]

8

主题

37

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
208
金钱
208
注册时间
2018-3-22
在线时间
32 小时
发表于 2018-3-23 14:14:56 | 显示全部楼层 |阅读模式
3金钱
设置io为开漏模式,它的高低电平能用resetbits()函数拉低拉高吗?怎么获取io上sda的信号?

最佳答案

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

你开漏输出,需要外接上啦电阻才能得到高电平 模拟 I2C 使用开漏输出,接上拉电阻,能够正确输出 0 和 1; 读值时先GPIO_SetBits(GPIOB, GPIO_Pin_0); 拉高,然后可以读 IO 的值; 使用GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_0);
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

23

主题

85

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
365
金钱
365
注册时间
2018-3-21
在线时间
64 小时
发表于 2018-3-23 14:14:57 | 显示全部楼层
你开漏输出,需要外接上啦电阻才能得到高电平
模拟 I2C 使用开漏输出,接上拉电阻,能够正确输出 0 和 1;
读值时先GPIO_SetBits(GPIOB, GPIO_Pin_0);
拉高,然后可以读 IO 的值;
使用GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_0);
回复

使用道具 举报

13

主题

633

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1331
金钱
1331
注册时间
2016-8-1
在线时间
229 小时
发表于 2018-3-23 15:43:57 | 显示全部楼层
resetbits()是什么?  想获取io口信号,首先应该配置为输入模式,然后gpio_idr寄存器读取
Loto虚拟示波器 官方qq群: 706769836 https://shop296209296.taobao.com/shop/view_shop.htm?tracelog=t
回复

使用道具 举报

0

主题

32

帖子

0

精华

初级会员

Rank: 2

积分
125
金钱
125
注册时间
2018-3-14
在线时间
19 小时
发表于 2018-3-23 15:44:36 | 显示全部楼层
写个代码,用万用表测一下就知道了。
回复

使用道具 举报

7

主题

200

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1279
金钱
1279
注册时间
2017-7-18
在线时间
257 小时
发表于 2018-3-23 15:56:36 | 显示全部楼层
可以使用resetbit()函数拉低io,想要读取io的数据是需要先将sda设置为输入然后通过读寄存器,或者直接采用库函数读取都可以。
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-8 02:30

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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