当前位置: 首页 > news >正文

MicroPython STM32F4 RTC功能使用介绍

MicroPython STM32F4 RTC功能使用介绍

  • 🔖STM32和ESP32 RTC功能差不多,相关篇《MicroPython ESP32 RTC功能使用介绍》
  • 📌固件刷可参考前面一篇《STM32刷Micropython固件参考指南》
  • 🌿 相关篇《Micropython STM32F4入门点灯》
  • 📍固件下载:https://micropython.org/download/?mcu=stm32f4
  • 🔖本例程基于STM32F4DISC,主控芯片STM32F407VGT6,使用固件版本:MicroPython v1.20.0 on 2023-04-26
  • 📑mpy RTC功能,可以参考Micropython官方开发参考文档:https://docs.micropython.org/en/latest/pyboard/quickref.html#rtc-real-time-clock
  • 🛠开发平台基于Thonny

📓RTC属于mpy模块中的类

>>> from pyb import RTC
>>> help(RTC)
object <class 'RTC'> is of type typeinit -- <function>info -- <function>datetime -- <function>wakeup -- <function>calibration -- <function>
  • RTC.wakeup(timeout, callback=None):配置RTC唤醒定时器设置,为每毫秒重复触发一次。此触发器可以将 pyboard 从睡眠状态唤醒pyb.stop()和 pyb.standby()。如果timeout=None,则唤醒定时器被禁用。带参数,则在每次触发时执行唤醒定时器。 唤醒回调函数:callback
  • rtc.init() :配置为系统默认的一个出厂时间。
  • rtc.datetime() :如果不带参数则是获取时间(元组)。带参数则是设置时间。(年、月、日、工作日、小时、分钟、秒、亚秒)
  • rtc.info():获取有关启动时间和重置源的信息。
  • 较低的0xffff是 RTC 花费的毫秒数 启动。
  • 如果发生上电复位,则设置位 0x10000。
  • 如果发生外部复位,则设置位 0x20000
  • rtc.calibration (cal):获取或设置 RTC 校准。
  • 不带参数,calibration() 返回当前校准值,它是 [-511 : 512] 范围内的整数。用一个参数设置 RTC 校准。
  • 带参数,RTC 平滑校准机制通过在 32 秒周期内(对应于 2^20 个时钟滴答)从 32768 Hz 时钟中添加或减去给定数量的滴答来调整 RTC 时钟速率。添加的每个滴答将使时钟加快 1 部分2^20 或 0.954 ppm;同样,RTC 时钟也减慢了负值。可用的校准范围是:(-511 * 0.954) ~= -487.5 ppm 到 (512 * 0.954) ~= 488.5 ppm

📝RTC测试代码

from pyb import RTC
import time
# 定义星期数组
weekdays = ['Sunday','Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']
rtc = RTC()
rtc.datetime((2023, 11, 28, 2, 21, 10, 15, 0)) # set a specific date and timeif __name__ == '__main__':   while True:# Get the current time from the RTCcurrent_time = rtc.datetime()print(current_time) # get date and timetime.sleep(1)year, month, day,weekday, hour, minute, second,  yearday = rtc.datetime()# 获取星期对应的数组成员weekday_name = weekdays[weekday]print("当前时间:{}-{}-{} {}:{}:{} Week:{}".format(year, month, day, hour, minute, second,weekday_name))

在这里插入图片描述

http://www.lryc.cn/news/252927.html

相关文章:

  • 【鸿蒙应用ArkTS开发系列】- 选择图片、文件和拍照功能实现
  • 公有云迁移研究——AWS Route53
  • 浪潮信息KeyarchOS——保卫数字未来的安全防御利器
  • python-单词本|通讯录
  • oracle impdp 导入元数据表空间异常增大的解决办法
  • 网站高可用架构设计基础
  • 基础堆溢出原理与DWORD SHOOT实现
  • ts的一些
  • LORA概述: 大语言模型的低阶适应
  • 关于在PyTorch中使用cudnn.benchmark= True
  • re:Invent大会,亚马逊云科技为用户提供端到端的AI服务
  • 23、什么是卷积的 Feature Map?
  • 安装获取mongodb
  • 【模电】基本共射放大电路的工作原理及波形分析
  • Oracle:左连接、右连接、全外连接、(+)号详解
  • virtualbox上win7企业微信CPU高问题
  • 【华为OD题库-055】金字塔/微商-java
  • OpenVINO异步Stable Diffusion推理优化方案
  • 51单片机的智能加湿器控制系统【含proteus仿真+程序+报告+原理图】
  • NoSql非关系型数据库
  • 抖音集团面试挂在2面,复盘后,决定二战.....
  • 每个.NET开发都应掌握的C#处理文件系统I/O知识点
  • vue3 中使用 sse 最佳实践,封装工具
  • OpenCV快速入门【完结】:总目录——初窥计算机视觉
  • 车企数据治理实践案例,实现数据生产、消费的闭环链路 | 数字化标杆
  • 深入学习锁--Lock各种使用方法
  • 计算机毕设:基于机器学习的生物医学语音检测识别 附完整代码数据可直接运行
  • VMware安装Ubuntu系统(Server端,Desktop端步骤一样)
  • Navicat 与 华为云 GaussDB 合作再升级,赋能 GaussDB 分布式数据库
  • 【Docker】从零开始:13.Docker安装tomcat