极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10342|回复: 3

寻求帮助

[复制链接]
发表于 2017-5-12 11:28:09 | 显示全部楼层 |阅读模式
各位高手:
      近期遇到一个难题,计划用ARDUINO PRO MINI做一个小产品,为了降低功耗,想在空闲时间让ARDUINO 休眠,然后通过DS3231 闹钟 在SQW口输出方波至ARDUINO 的第三脚(中断触发端口)唤醒ARDUINO 。但多次实验,结果存在很大不确定性,有时可以唤醒,有时不行。恳请熟悉DS3231的高手指点一二。

                                            多谢
回复

使用道具 举报

发表于 2017-5-12 11:35:42 | 显示全部楼层
首先这个问题要分两个测试

1、SQW有没确定信号输出。接LED测试

2、中断触发能不能确定唤醒。用手动开关代替SQW测试。

分离测试得到谁不稳定结果之后,再回来咨询
回复 支持 反对

使用道具 举报

发表于 2017-5-13 11:05:36 | 显示全部楼层
确定每次SQW都输出了?
最好贴上你的中断程序
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-5-22 20:55:16 | 显示全部楼层
Ansifa 发表于 2017-5-12 11:35
首先这个问题要分两个测试

1、SQW有没确定信号输出。接LED测试

朋友,你好!
      非常感谢你的指点,我进一步测试了程序,发现如下现象:
   1、ARDUINO 进入睡眠后可以通过2、3两个口中断触发唤醒,我测试过,没问题。我在3口接了一个下拉电阻,然后通过开关接到VCC,休眠后通过开管触发可以唤醒,这个测试结果很稳定。
   2、关于DS3231到设置我还没有搞明白,在DS3231有关资料描述中有如下说明:
BIT2位:中断控制(INTCN)。该位控制INT/SQW信号。INTCN置为0时,INT/SQW引脚输出方
波;INTCN置为1时,若计时寄存器与任一个闹钟寄存器相匹配,则会触发INT/SQW信号(如果也使能闹钟的话)。匹配时相应的闹钟标志总是置位,而与INTCN位的状态无关。初次上电时,INTCN位置为逻辑1。
BIT1位:闹钟2中断使能(A2IE)。该位置为逻辑1时,允许状态寄存器中的闹钟2标志位(A2F)触发INT/SQW信号(当INTCN=1时)。当A2IE位置为0或者INTCN置为0时,A2F位不启动中断信号。初次上电时,A2IE位清零(逻辑0)

通过上述说明,将BIT1和BIT2 到值设置为1  即可使用闹钟中断触发功能,可是我只找到了一条关于闹钟到设置指令:Clock.getA1Time(A1Day, A1Hour, A1Minute, A1Second, A1Bits, ADy, A12h, Apm)
请问通过什么样到指令可以设置DS3231到控制寄存器到值?
恳请进一步指点一二。
非常感谢
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-3-29 00:56 , Processed in 0.047310 second(s), 19 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表