OpenEdv-开源电子网

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

关于iic的一点疑问求解

[复制链接]

59

主题

189

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
451
金钱
451
注册时间
2012-4-11
在线时间
1 小时
发表于 2014-6-25 09:56:32 | 显示全部楼层 |阅读模式
5金钱
u8 IIC_Wait_Ack(void)
{
u8 ucErrTime=0;
SDA_IN();      //SDA设置为输入  
// IIC_SDA=1;delay_us(1);   
IIC_SCL=1;delay_us(1);  
while(READ_SDA)
{
ucErrTime++;
if(ucErrTime>250)
{
IIC_Stop();
return 1;
}
}
IIC_SCL=0;//时钟输出0   
return 0;  

SDA_IN()把sda设置成输入模式的时候 // IIC_SDA=1;delay_us(1);   这个时候这句是不是没有什么意义了我是这样认为的对吗????

最佳答案

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

回复【3楼】shenhao7752376: --------------------------------- 在输入模式下,ODR寄存器控制上拉,还是下拉... 所以=1的意思,就是输入,上拉.
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-6-25 09:56:33 | 显示全部楼层
回复【3楼】shenhao7752376:
---------------------------------
在输入模式下,ODR寄存器控制上拉,还是下拉...
所以=1的意思,就是输入,上拉.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
发表于 2014-6-25 12:42:45 | 显示全部楼层
怎么没意义啦,数据手册没仔细看
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复

使用道具 举报

59

主题

189

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
451
金钱
451
注册时间
2012-4-11
在线时间
1 小时
 楼主| 发表于 2014-6-25 18:27:12 | 显示全部楼层
回复【2楼】Badu_Space:
---------------------------------
#define SDA_IN()  {GPIOB->CRH&=0XFFFF0FFF;GPIOB->CRH|=8<<12;}
这句话不是不是把PB11设置成输入了吗??
#define IIC_SDA    Bout(11) //SDA
不是只有PB11输出IIC_SDA=1才有意思吗

这里先让PB11这只成输入并且设置成1??????
回复

使用道具 举报

59

主题

189

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
451
金钱
451
注册时间
2012-4-11
在线时间
1 小时
 楼主| 发表于 2014-6-26 07:52:15 | 显示全部楼层
回复【4楼】正点原子:
---------------------------------
GPIOB->ODR|=1<<n 是设置上拉这个我明白,
#define IIC_SDA    Bout(11) //SDA 
PBout(11)=1 也就是让PB11成为高电平我也明白
但是这里是先把PB11设置成输入了对PBout(11)=1(输出) 没影响吗?两者没有关系吗
明明是设置成输入了还输出?

是不是有点钻死牛角啊。。。。。。>
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-6-26 23:21:18 | 显示全部楼层
回复【5楼】shenhao7752376:
---------------------------------
GPIOB->ODR|=1<<11 
和PBout(11)=1
是一个效果.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

59

主题

189

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
451
金钱
451
注册时间
2012-4-11
在线时间
1 小时
 楼主| 发表于 2014-6-27 07:25:11 | 显示全部楼层
回复【6楼】正点原子:
--------------------------------- 
奥明白了谢谢原子哥。。
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-6 21:13

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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