toofree 发表于 2019-8-23 15:26:36

这种情况,一般是时序不对,该加延时加延时。
如果是用IO模式的I2C,必须是OD模式。

hhhhhhhaa 发表于 2019-9-23 14:27:47

toofree 发表于 2019-8-23 15:26
这种情况,一般是时序不对,该加延时加延时。
如果是用IO模式的I2C,必须是OD模式。 ...

模式不是OD 是PP

hhhhhhhaa 发表于 2019-9-23 14:29:30

安 发表于 2019-8-23 13:37
不能用指的时不能读取内容,还是读取内容错误?还是时钟不走?有的时钟断电后,会恢复出厂设置。这个时候需 ...

是根本无法通讯,读出来的时间都是乱码

发表于 2019-9-23 17:34:09

第一次使用时,需要先写入一次数据,再进行读取操作。这个芯片我用了也很多年了。当发生断电时,读取的数据会为初始值,需要注意,有时候发生异常时,会有一些标志位写再各个地址,因此,需要在读取时,将不需要的标志位过滤掉。对比对应的寄存器说明,年月日时分秒中所使用哪些bit。

hhhhhhhaa 发表于 2019-9-24 13:12:25

安 发表于 2019-9-23 17:34
第一次使用时,需要先写入一次数据,再进行读取操作。这个芯片我用了也很多年了。当发生断电时,读取的数据 ...

有备用电池供电,所以时间会保存住,当第一次的时候会先设置时间,您说的这些都不是根本问题,我现在遇到的问题是,读出的数据一直是一个死数

发表于 2019-9-24 15:16:14

楼主,确定一下你的设备硬件地址是否和之前的一致。使用模拟I2C还是硬件I2C,用的时HAL库还是标准库。我只能从你的描述中进行判断,如果能有芯片的具体信息,比如批次不一样,他的硬件资料是否有变更?如果能用示波器抓一下波形,看一下波形。

hhhhhhhaa 发表于 2019-9-24 19:11:03

安 发表于 2019-9-24 15:16
楼主,确定一下你的设备硬件地址是否和之前的一致。使用模拟I2C还是硬件I2C,用的时HAL库还是标准库。我只 ...

用的模拟I2C,用的标准库,硬件资料没有变更,只是批次不一样,因为手上没有了板子,所以没法测试了,等以后有了板子再测试,我高度怀疑是程序上配置的问题,因为那会儿的程序用的是PP模式,有个人说模拟应该用OD模式,我看了原理图,我们是有上拉的,所以应该配置成OD模式

发表于 2019-9-25 10:01:05

如果不能确定原因,用示波器测试就能找到问题的。

hhhhhhhaa 发表于 2019-9-25 21:07:41

安 发表于 2019-9-25 10:01
如果不能确定原因,用示波器测试就能找到问题的。

嗯,主要是我们这没有示波器,也没有电路板了,等以后有了我再回复吧

hhhhhhhaa 发表于 2019-10-17 19:59:11

刚才测试了,模拟iic STM32F429ZGT6   模式输出模式选择
GPIO_InitStructure.GPIO_OType = GPIO_OType_OD;        
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;        
这两种模式都测试过了,都可以正确的读取出时间来,没有任何差别
页: 1 [2] 3
查看完整版本: pcf8563时钟读取问题