OpenEdv-开源电子网

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

学习原子虚拟IIC过程中的疑问,请教。

[复制链接]

8

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
76
金钱
76
注册时间
2011-11-14
在线时间
2 小时
发表于 2011-11-18 18:10:51 | 显示全部楼层 |阅读模式

问题1:在等待应答信号到来的函数中,既然设置了SDA_IN();为输入,为何还使用IIC_SDA=1,设置sda输出1呢?
u8 IIC_Wait_Ack(void)
{ 。。。。
 u8 ucErrTime=0;
 SDA_IN();      //SDA设置为输入  
 IIC_SDA=1;delay_us(1);    
 IIC_SCL=1;delay_us(1);   
  。。。。。。 


问题2:在指定地址读出一个字节的数据函数中,原子为什么用 IIC_Send_Byte(0XA0+((ReadAddr/256)<<1)); IIC_Send_Byte(ReadAddr%256);来表示从器件地址和它想读取的字节数据的地址呢(为什么字节数据的地址要除以256取余数),写成IIC_Send_Byte(0XA0); IIC_Send_Byte(ReadAddr);对不对?
     u8 AT24CXX_ReadOneByte(u16 ReadAddr)
     {      
               u8 temp=0;                    
                IIC_Start(); 
              。。。。。。  
             else IIC_Send_Byte(0XA0+((ReadAddr/256)<<1));   //发送器件地址 0XA0,写数据 
              IIC_Wait_Ack();  
                IIC_Send_Byte(ReadAddr%256);   //发送低地址 
               IIC_Wait_Ack();      
                 IIC_Start();         
                IIC_Send_Byte(0XA1);           //进入接收模式       
                   IIC_Wait_Ack();  
                        temp=IIC_Read_Byte(0);     
                            IIC_Stop();//产生一个停止条件
                        return temp;
               }
问题3:如果我用一个24C04,A2,A1,A0 全部接地,adAddr=375,那么按照上面的的代码从器件地址是不是该写成IIC_Send_Byte(0XA0+0X020)  ,字节数据的地址该写成IIC_Send_Byte(375%256)
以上三个问题,困扰了我一下午,请原子给我解释一下,谢谢了。












正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2011-11-18 19:41:55 | 显示全部楼层
回复【楼主位】lkj123:
---------------------------------
问题1,仔细看IO口的设置部分,有上下拉的功能.你理解如何设置上下拉就理解这句话了.
问题2,3,多看看24c02的数据手册吧.看看是如何读指定地址的数据的.尤其是他们的通讯过程.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

17

主题

53

帖子

0

精华

初级会员

Rank: 2

积分
142
金钱
142
注册时间
2012-1-19
在线时间
0 小时
发表于 2012-2-26 14:10:18 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
第二三个问题不知道为什么啊!24c02的数据手册也没说除以256啊,器件地址不都是7位吗,真不懂,,,,,能解释下吗
柳暗花明
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2012-2-26 19:17:27 | 显示全部楼层
回复【3楼】liucheng_34:
---------------------------------
这个程序不只是针对24c02的.
看看24c16/32/64/128/256等的资料吧.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手上路

积分
35
金钱
35
注册时间
2012-2-27
在线时间
3 小时
发表于 2012-2-27 10:33:19 | 显示全部楼层
回复【4楼】正点原子:
---------------------------------
原子兄,AT24C512的适用吗,我一直检测不到AT24CXX_Check
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2012-2-27 11:03:31 | 显示全部楼层
应该可以的,但是我没有测试.老版本的代码有点问题.你试试最新的吧.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

4

主题

19

帖子

0

精华

初级会员

Rank: 2

积分
56
金钱
56
注册时间
2012-9-28
在线时间
0 小时
发表于 2012-10-10 10:44:39 | 显示全部楼层
回复【3楼】liucheng_34:
---------------------------------
这个你搞懂了没??求解啊
回复 支持 反对

使用道具 举报

57

主题

431

帖子

1

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
886
金钱
886
注册时间
2011-12-25
在线时间
12 小时
发表于 2012-10-10 13:14:47 | 显示全部楼层
回复【7楼】wuchang900625:
---------------------------------
回复【3楼】liucheng_34: 
--------------------------------- 
这个程序不只是针对的. 
看看24c16/32/64/128/256等的资料吧.


开发板是为了以后的扩张用的。。程序不是只针对24c02。。。
很喜爱电子行业
回复 支持 反对

使用道具 举报

32

主题

123

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
311
金钱
311
注册时间
2011-8-15
在线时间
33 小时
发表于 2012-10-10 13:57:01 | 显示全部楼层
虚拟模式感觉很慢,一次移动500字节数据,感觉不稳定,会出错,少量的数据就没有问题
回复 支持 反对

使用道具 举报

3

主题

21

帖子

0

精华

初级会员

Rank: 2

积分
54
金钱
54
注册时间
2013-3-30
在线时间
0 小时
发表于 2013-4-26 17:35:22 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
那PAin(n)是什么输入模式?
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-4-26 21:29:36 | 显示全部楼层
这什么模式都不是.
模式不是这个设置的,是CRL和CRH控制的.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-20 22:26

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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