OpenEdv-开源电子网

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

24C02的写字节函数问题

[复制链接]

20

主题

122

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
222
金钱
222
注册时间
2013-9-21
在线时间
0 小时
发表于 2013-11-10 10:35:01 | 显示全部楼层 |阅读模式
 
用io模拟IIC操作24C02时,以前在51上这么写就没问题:
void IIC_Write(u8 data)
{
u8 i;
 SDA_OUT();
 for(i=0;i<8;i++)
 {

   SCL=0;   delay_us(4);   if(((data<<i)&0X80)!=0)SDA=1;
  else SDA=0; 
  SCL=1;    delay_us(4);   }
}但是现在怎么不对了,必须把SCL=0; delay_us(4);这两句放到SCL=1的后面才正常(例程),如下:
void IIC_Write(u8 data)
{
 u8 i;
 SDA_OUT();
 for(i=0;i<8;i++)
 {
  if(((data<<i)&0X80)!=0)SDA=1;
  else SDA=0; 
  SCL=1;    delay_us(4);   SCL=0;   delay_us(4);  }
}
我怎么觉得这两种写法没什么区别啊,但是就是第一个不对,第二个对,大侠帮忙解答一下。[/mw_shl_code]
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-11-10 11:30:31 | 显示全部楼层
看上去差不多,看你原来的51,应该刚进入 IIC_Write的时候,SCL是等于1的吧?

而我们的,刚进入 IIC_Write的时候,SCL是等于0的
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

20

主题

122

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
222
金钱
222
注册时间
2013-9-21
在线时间
0 小时
 楼主| 发表于 2013-11-10 11:52:51 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
还真是这样,回头看了下51的IICstart函数确实最后是SCL=0,
但是原子哥,我还是有点不明白,写数据的时候只要保证数据在SCL=0的时间段内变化,在SCL=1的时间段内稳定,就可以了,这对于到底是SCL=1或0在前后的顺序应该不受影响吧?
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-11-10 15:34:01 | 显示全部楼层
回复【3楼】jikaishihuaidan:
---------------------------------
这...
事实是有影响,如果可以用示波器对比下波形,就比较好找问题。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

20

主题

122

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
222
金钱
222
注册时间
2013-9-21
在线时间
0 小时
 楼主| 发表于 2013-11-10 16:04:08 | 显示全部楼层
回复【4楼】正点原子:
---------------------------------
额,谢啦,原子哥,不过示波器可没有o(╯□╰)o
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-11-10 22:51:11 | 显示全部楼层
回复【5楼】jikaishihuaidan:
--------------------------------
软仿真试试
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-9 10:39

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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