橘子阿小 发表于 2022-1-19 14:31

同一款ds1302,更换单片机之后就不能使用

本帖最后由 pzsh 于 2022-2-17 13:45 编辑

同一款1302,我在单片机pic1847Q10能用,换了另一款pic18的单片机,就不能读取到时间,硬件电路一样,引脚换了,程序中定义的引脚也换了,不知道为什么会导致这种情况,更换完单片机后读取的是FF

LcwSwust 发表于 2022-1-19 14:39

先准备个示波器

橘子阿小 发表于 2022-1-19 14:45

LcwSwust 发表于 2022-1-19 14:39
先准备个示波器

没有示波器

LcwSwust 发表于 2022-1-19 15:00

本帖最后由 LcwSwust 于 2022-1-19 15:02 编辑

橘子阿小 发表于 2022-1-19 14:45
没有示波器
若是公司用,咱公司里用的是DS1102E。
若是自己用,可以了解一下正点原子的DS100。
若是想省钱,也可以利用带ADC的单片机+显示波形的上位机自己造一个简易示波器。
https://bbs.21ic.com/icview-3058194-1-1.html
若实再不想用示波器,万用表总有吧,把通信时的波特率降低些,比如发一位数据延时2秒钟,
就能用万用表监测到数据,就能知道IO有没有按你的想法来动作。

dalarang 发表于 2022-1-19 15:11

为啥都说上示波器,这不是逻辑分析仪干的活吗?

lcczg 发表于 2022-1-19 16:45

逻辑分析仪更便宜。看下时钟配置吧。估计不一样。

laocuo1142 发表于 2022-1-20 10:10

SPI通讯吗?一般问题不大啊

laocuo1142 发表于 2022-1-20 10:10

1, 检查一下IO输出是不是正常,2,延时函数检查一下

tripic 发表于 2022-1-20 10:39

MCU到DS1302的线长,IO的驱动能力看看

ningling_21 发表于 2022-1-20 11:47

本帖最后由 ningling_21 于 2022-1-20 11:48 编辑

可能程序里也要改对应相关的地方才行

海洋无限 发表于 2022-1-20 12:09

和单片机肯定没关系,先检查你的代码

woai32lala 发表于 2022-1-20 13:13

首先考虑延时时间长短。

ayb_ice 发表于 2022-1-20 13:20

那肯定是PIN没有更换正确或没有更换到位

gaobq 发表于 2022-1-20 14:40

以我多年的stm32经验,考虑时钟配置、IO配置(IO是不是复用了,是不是重新映射,IO是不是默认JTAG脚)

hu9jj 发表于 2022-1-20 15:21

推测应该是换了单片机,时钟不一致造成I2C时序不正确所致,用逻辑分析仪抓取SCL和SDA的时序一看就明白了。

drer 发表于 2022-2-6 20:46

一样的电路板吗

kxsi 发表于 2022-2-6 21:04

是不是更改主频了啊

qcliu 发表于 2022-2-6 21:15

更换的同样的单片机吗

wiba 发表于 2022-2-6 21:45

更换时钟了米有啊

coshi 发表于 2022-2-6 21:53

看一下波形 是不是频率边了啊
页: [1] 2
查看完整版本: 同一款ds1302,更换单片机之后就不能使用