OpenEdv-开源电子网

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

24C02无法写入问题,原子哥程序存在一个小BUG

[复制链接]

22

主题

67

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
308
金钱
308
注册时间
2015-5-10
在线时间
78 小时
发表于 2018-5-8 14:25:35 | 显示全部楼层 |阅读模式
型号:M24C02-FMN6TP

使用逻辑分析仪看时序,整体看不出问题,但是就是无法写入,后来发现是IIC的STOP时序有问题。

手册时序要求
QQ截图20180508142254.png


原程序
void IIC_Stop(void)
{
        SDA_OUT();//sda线输出
        IIC_SCL=0;
        IIC_SDA=0;//STOP:when CLK is high DATA change form low to high
        delay_us(4);
        IIC_SCL=1;
        IIC_SDA=1;//发送I2C总线结束信号
        delay_us(4);                                                                  
}


改为
void IIC_Stop(void)
{
        SDA_OUT();//sda线输出
        IIC_SCL=0;
        IIC_SDA=0;//STOP:when CLK is high DATA change form low to high
        delay_us(4);
        IIC_SCL=1;
        delay_us(4);
        IIC_SDA=1;//发送I2C总线结束信号                                                                  
}


就没问题了。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

20

主题

450

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4702
金钱
4702
注册时间
2017-7-6
在线时间
709 小时
发表于 2018-5-8 14:38:48 | 显示全部楼层
对的,SCL 为高电平时, SDA 由低电平向高电平跳变,结束传送数据,原子哥的SCL为高,没有延时立马就把SDA拉低 间隔时间短造成的,在后面延时就没意义了
我是小白,很白很白的小白!!!
回复 支持 反对

使用道具 举报

16

主题

67

帖子

0

精华

初级会员

Rank: 2

积分
188
金钱
188
注册时间
2012-10-13
在线时间
13 小时
发表于 2019-5-14 17:23:14 | 显示全部楼层
非常感谢,这个问题困扰了我好久,无缘无故出现这样的问题
It?never?rains?but?it?pours!
回复 支持 反对

使用道具 举报

0

主题

19

帖子

0

精华

高级会员

Rank: 4

积分
860
金钱
860
注册时间
2018-8-31
在线时间
408 小时
发表于 2019-9-22 17:04:49 | 显示全部楼层
果然是这样,但是在F103上正常,到F407就不行了。非常感谢楼主
回复 支持 反对

使用道具 举报

8

主题

185

帖子

0

精华

新手上路

积分
47
金钱
47
注册时间
2019-7-15
在线时间
47 小时
发表于 2019-9-23 12:53:41 | 显示全部楼层
本帖最后由 五月爸爸 于 2019-9-23 12:56 编辑

感谢楼主分享,407的时钟太快导致?
回复 支持 反对

使用道具 举报

79

主题

396

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1788
金钱
1788
注册时间
2015-9-21
在线时间
551 小时
发表于 2019-9-23 22:37:01 | 显示全部楼层
像这种有时序要求很严格的通讯协议在移植是必须考虑时钟速度的,这不算是程序有问题。
回复 支持 反对

使用道具 举报

3

主题

9

帖子

0

精华

新手上路

积分
33
金钱
33
注册时间
2020-7-22
在线时间
9 小时
发表于 2021-7-11 19:13:43 | 显示全部楼层
果然是这样!!!!!啊啊啊!!感谢了!!!
回复 支持 反对

使用道具 举报

55

主题

243

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1596
金钱
1596
注册时间
2012-12-30
在线时间
240 小时
发表于 2022-1-14 10:45:56 | 显示全部楼层
原子的之前一直用的好好的,最近打的板子就不行,写不了,刚好看到你的贴,对我帮助太大了
回复 支持 反对

使用道具 举报

80

主题

268

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
441
金钱
441
注册时间
2014-8-11
在线时间
84 小时
发表于 2022-4-29 00:40:56 | 显示全部楼层
让我叫你一声大哥,兄弟
我是一只菜鸟,但我会大鹏展翅
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

初级会员

Rank: 2

积分
112
金钱
112
注册时间
2019-10-5
在线时间
37 小时
发表于 2022-7-1 17:32:05 | 显示全部楼层
果然如此,刚下的例程测试能读不能写,感谢楼主👍
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手上路

积分
25
金钱
25
注册时间
2020-10-23
在线时间
6 小时
发表于 2022-8-23 14:49:06 | 显示全部楼层
大哥,你太牛了。
回复 支持 反对

使用道具 举报

1

主题

6

帖子

0

精华

新手上路

积分
49
金钱
49
注册时间
2016-7-28
在线时间
9 小时
发表于 2025-2-7 18:45:46 | 显示全部楼层
v8second 发表于 2019-9-22 17:04
果然是这样,但是在F103上正常,到F407就不行了。非常感谢楼主

还真是,103没有问题,407就出问题,用楼主的方法解决了
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-2-22 16:30

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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