打印
[PIC®/AVR®/dsPIC®产品]

【CuriosityNano测评报告】+模拟I2C驱动DS1307日历模块

[复制链接]
1690|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hu9jj|  楼主 | 2020-11-25 19:08 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
    自从完成了驱动LCD显示屏之后,立即着手准备用I2C驱动DS1307日历模块。开始打算尝试硬件I2C的,但反复试验均未获得成功,不得已改用软件模拟I2C来驱动,可是也很不顺利,也是反复试验,以致于头昏脑胀,搁置了两天之后,重新理清思路继续试验,今天终于获得成功。下面是我测试过程中的照片:


    测试使用的是网购的DS1307日历模块(见下图),模块上不光有DS1307日历模块,还有一块AT24C32EEPROM,本次首先测试日历模块。


    开始按照MCC生成的例子进行测试(见下图),也许是理解不透彻,测试了几天都不成功。


    这是多字节读写操作的参考代码:


    迫不得已,我就改用软件模拟I2C进行测试。起初将用途SCL和SDA的两个引脚全部设置成输出模式,然后在程序中根据需要动态地将SDA设置成输出模式或输入模式,宏定义如下:
#define SDA_OUT()  DIN_SetDigitalOutput()  //设置数据端口模式
#define SDA_IN()   DIN_SetDigitalInput()


    然后通过逻辑分析仪仔细调整延时,让时序符合DS1307数据表的要求,见下图,方波间距在5微秒或略多点:



    延时调整好了,按说应该可以读写操作了,可实际上并非如此,依旧读不到数据,于是继续测试,最后调整到DS1307不光正确地接收到了信息,而且还作出了回应,发出了时间日期数据(见下图);


    这样可以断定问题出在了单片机接收环节,继续查找接收问题。首先考虑是否因为SDA数据方向的设置是否有误,反复对照引脚的宏定义的,没有发现任何错误。接着怀疑是否是引脚问题,调换到其它引脚测试,仍然没有成效。一度曾经怀疑操作代码问题,但这些代码都在其他板子上正常使用过的,出问题的可能性极小。就这样又折腾了几天时间,决定先暂停测试,清醒一下头脑。隔了两天之后,今天突然想起,SDA引脚的写没有问题,就是读有问题,哪可以将SDA引脚先配置成输入模式,再根据需要动态切换为输出模式试试看,于是马上动手测试,果然就成功了,正确地读取到了日历模块的数据。下面就是读取时间并显示的动画:



    这是测试项目的压缩包:
MyTest1.X.rar (2.23 MB)

I2C_02.jpg (238.97 KB )

I2C_02.jpg

使用特权

评论回复
沙发
EASTFUN| | 2020-11-27 20:49 | 只看该作者
厉害

使用特权

评论回复
板凳
wakayi| | 2020-12-4 12:53 | 只看该作者
这个日历模块是专用的模块吗

使用特权

评论回复
地板
wowu| | 2020-12-4 12:54 | 只看该作者
楼主好厉害 效果很是不错

使用特权

评论回复
5
xiaoqizi| | 2020-12-4 12:56 | 只看该作者
楼主的底板用的是哪个型号的啊

使用特权

评论回复
6
木木guainv| | 2020-12-4 12:57 | 只看该作者
收不到数据的时候是怎么解决的呢

使用特权

评论回复
7
磨砂| | 2020-12-4 12:59 | 只看该作者
楼主吧调试过程中出现的问题描述的非常详细 解决办法也写的很好

使用特权

评论回复
8
hu9jj|  楼主 | 2020-12-4 13:59 | 只看该作者
wakayi 发表于 2020-12-4 12:53
这个日历模块是专用的模块吗

DS1307日历模块,从TB网购的。

使用特权

评论回复
9
hu9jj|  楼主 | 2020-12-4 13:59 | 只看该作者
xiaoqizi 发表于 2020-12-4 12:56
楼主的底板用的是哪个型号的啊

自己设计打样的。

使用特权

评论回复
10
pzsh| | 2021-1-19 10:48 | 只看该作者
这块底板如虎添翼

使用特权

评论回复
11
hu9jj|  楼主 | 2021-1-19 16:59 | 只看该作者
pzsh 发表于 2021-1-19 10:48
这块底板如虎添翼

是啊,测试时可以快速方便地更换各种模块。

使用特权

评论回复
12
YangTwo| | 2021-1-21 21:03 | 只看该作者
厉害!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

认证:Microchip
简介:让我们来为您提供帮助。我们可提供各种资源来帮助您解决一切问题。是否需要与我们的客户支持团队联系?您可以通过电话、在线聊天功能或电子邮件与他们联系。

151

主题

1059

帖子

11

粉丝