RTC
实施 RTC 使 Mbed OS 能够跟踪当前时间。标准库时间保持功能,如时间,使用它。
假设
定义的行为
- 函数 rtc_init 可以安全地重复调用。
- RTC 精度至少为 10%。
- Init/free 不会阻止 RTC 计数。
- 软件重置不会阻止 RTC 计数。
- 睡眠模式不会阻止 RTC 计数。
- 关机模式不会阻止 RTC 计数。
未定义的行为
- 在 RTC 初始化之前调用除 rtc_init 之外的任何函数。
注意
在实施此 API 时,请注意以下常见问题:
- 溢出处理不正确。
- 由于纹波计数器引起的毛刺。
依赖
硬件 RTC 功能。
实现 RTC API
您可以在以下头文件中找到 RTC API 的 API 和规范:
要在 Mbed OS 中启用 RTC 支持,请在 targets.json 文件的 target 目标部分的 device_has 选项中添加 RTC 标签。
测试
Mbed OS HAL 为 RTC 提供了一组一致性测试。您可以使用这些测试来验证实现的正确性。要运行 RTC HAL 测试,请使用以下命令:
mbed test -t <toolchain> -m <target> -n "tests-mbed_hal-rtc*"
您可以阅读有关测试用例的更多信息: