[PIC®/AVR®/dsPIC®产品] 【CuriosityNano测评报告】+模拟I2C驱动DS1307日历模块

[复制链接]
 楼主| hu9jj 发表于 2021-1-16 15:16 | 显示全部楼层 |阅读模式
    模拟I2C驱动DS1307日历模块是我常做的测试项目,本次测试时却不顺利,读芯片勉强通过,但写芯片却不成功,用逻辑分析仪抓取时序,发现延时达数百微秒,而正常情况下应该是5微秒左右。下面是抓取的时序截图:


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


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


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


    出错提示如下:


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


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


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


    这是DS1307日历模块的正面:



    这是日历模块的反面:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
名字是啥样 发表于 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 | 显示全部楼层
开发工具也是很强大的,赞
南来之风 发表于 2021-1-18 18:38 | 显示全部楼层
厉害!学习一下
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

151

主题

1063

帖子

11

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

151

主题

1063

帖子

11

粉丝
快速回复 在线客服 返回列表 返回顶部