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

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

[复制链接]
836|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hu9jj|  楼主 | 2021-1-16 15:16 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
    模拟I2C驱动DS1307日历模块是我常做的测试项目,本次测试时却不顺利,读芯片勉强通过,但写芯片却不成功,用逻辑分析仪抓取时序,发现延时达数百微秒,而正常情况下应该是5微秒左右。下面是抓取的时序截图:


    放大之后看时钟周期接近1毫秒(0.994ms):


    而代码中的延时已经接近最低限度,仅仅是一行NOP()指令。之后进入MCC查看时钟配置,原来是我的时钟配置不正确,频率仅为1MHz(见下图):


    将时钟修改为32MHz后,速度提高了,读写操作就正常了。
    然而又遇到了一个问题,编译时从main函数直接对DS1307日历模块设置日期时,编译却出错了:


    出错提示如下:


    在主函数中注释掉这行,将设置日期改在初始化函数中调用就不出错:


    尚不清楚是什么原因造成的,似乎是代码中找不到什么词吧。
    下面是测试过程的照片:


    这是屏幕中显示的日期,时间每秒刷新一次,日期每分钟刷新一次:


    这是DS1307日历模块的正面:



    这是日历模块的反面:

open_11.jpg (357.87 KB )

open_11.jpg

使用特权

评论回复
沙发
名字是啥样| | 2021-1-16 16:30 | 只看该作者
microchip使用好了,确实不错的一款芯片,开发工具也是很强大的。

使用特权

评论回复
板凳
hu9jj|  楼主 | 2021-1-16 16:41 | 只看该作者
本帖最后由 hu9jj 于 2021-1-16 16:42 编辑

    前述出错的原因似乎还是代码太多的原因,我将汉字的字符集(8个汉字占用约192字节)注释掉之后,编译就通过了。字符集数据我是作为常量保存的,按理只占用储存空间,真是不明白。


    之前我的汉字字符集有近百个汉字,也是编译出错,缩小到8个汉字时才编译通过,看来此单片机的容量有限,无法运行较大的代码,可看起来我目前的测试代码并不多,但已经占用了82%左右的存储空间了。

使用特权

评论回复
地板
两只袜子| | 2021-1-17 14:39 | 只看该作者
开发工具也是很强大的,赞

使用特权

评论回复
5
南来之风| | 2021-1-18 18:38 | 只看该作者
厉害!学习一下

使用特权

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

本版积分规则

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

151

主题

1059

帖子

11

粉丝