liangliangwa 发表于 2018-7-29 15:05:20

怎样用HAL库的RTC设置闹钟设置一个2天3小时4分5秒的闹钟中断

怎样用HAL库的RTC设置闹钟设置一个2天3小时4分5秒的闹钟中断,并能持续一直进行设置这个闹钟,因为HAL库中看到的设置闹钟中断函数,不能超过一天,也就是只能在24小时之内。
函数:HAL_StatusTypeDef HAL_RTC_SetAlarm_IT(RTC_HandleTypeDef *hrtc, RTC_AlarmTypeDef *sAlarm, uint32_t Format);

zhao.zhao 发表于 2018-7-29 21:34:04

这个有点难,一般最大唤醒时间只有一天多一点,要不就不能够称闹钟了。间接的办法是用软件来实现,先设置总的唤醒时间,然后计算,超过一天的先设置一天唤醒,一天后减去24小数,再次计算剩余多少时间,再次设置,直到某次唤醒后,下次的时间=0了,这个时间点就是要求唤醒的时间点。

butterflyspring 发表于 2018-7-30 11:33:49

可以的,假设你开始设定每月的1号的3点中断,中断产生后,你就改为3号..如此类推,不就行?

发表于 2018-7-30 13:45:17

楼上的建议比较合理,只能通过算日期和时间进行闹钟唤醒。这样建议使用unix时间进行计算。

liangliangwa 发表于 2018-8-4 21:48:10

zhao.zhao 发表于 2018-7-29 21:34
这个有点难,一般最大唤醒时间只有一天多一点,要不就不能够称闹钟了。间接的办法是用软件来实现,先设置总 ...

感谢回复!

liangliangwa 发表于 2018-8-4 21:48:52

butterflyspring 发表于 2018-7-30 11:33
可以的,假设你开始设定每月的1号的3点中断,中断产生后,你就改为3号..如此类推,不就行? ...

感谢回复,软件目前这样实现了,在中断回调里面重新定下一次闹钟。

liangliangwa 发表于 2018-8-4 21:49:12

安 发表于 2018-7-30 13:45
楼上的建议比较合理,只能通过算日期和时间进行闹钟唤醒。这样建议使用unix时间进行计算。 ...

感谢回复,通过软件计算实现了。

zhao.zhao 发表于 2018-8-5 13:26:50

liangliangwa 发表于 2018-8-4 21:49
感谢回复,通过软件计算实现了。

:handshake

西奥伟 发表于 2018-8-16 13:48:31

安 发表于 2018-7-30 13:45
楼上的建议比较合理,只能通过算日期和时间进行闹钟唤醒。这样建议使用unix时间进行计算。 ...

能交流一下吗?

发表于 2018-8-16 13:50:18

西奥伟 发表于 2018-8-16 13:48
能交流一下吗?

您好。有问题您可以在论坛留贴。大家会帮助您解决的。
页: [1] 2
查看完整版本: 怎样用HAL库的RTC设置闹钟设置一个2天3小时4分5秒的闹钟中断