MicroPython ESP32 RTC功能使用介绍

MicroPython ESP32 RTC功能使用介绍


  • 📌Micropython esp32官方文档介绍:https://docs.micropython.org/en/latest/esp32/quickref.html#real-time-clock-rtc
  • 🔖本示例基于Thonny平台开发。
  • 🌿使用ESP32S3开发板测试。
  • ✨所使用的固件版本:MicroPython v1.19.1
📓RTC属于machine模块中的类

🍭查询RTC相关内置的功能模块:

>>> from machine import RTC
>>> help(RTC)
object <class 'RTC'> is of type typeinit -- <function>datetime -- <function>memory -- <function>
  • 🌿RTC.init([year, month, day, week, hour, minute, second, microsecond])功能和rtc.datetime([year, month, day, week, hour, minute, second, microsecond])一样。
MicroPython v1.19.1 on 2022-09-23; YD-ESP32S3-N16R8 with ESP32S3R8Type "help()" for more information.>>> from machine import RTC
>>> rtc = RTC()
>>> rtc.init((2023, 11, 6, 1, 12, 12, 15, 12))
>>> rtc.datetime()
(2023, 11, 6, 0, 12, 12, 25, 119353)
>>> 
  • 🌿rtc.datetime([year, month, day, week, hour, minute, second, microsecond]):该方法用于设置或获取RTC时间。不带参数时,用于获取时间,带参数则是设置时间;设置时间时,参数week不参与设置,microsecond参数保留,暂未使用,默认是0。
  • year - 年,int类型。
    month - 月,int类型,范围[1 ~ 12]。
    day - 日,int类型,范围[1 ~ 31]。
    week - 星期,int类型,范围[0 ~ 6],其中0表示周日,[1 ~ 6]分别表示周一到周六;设置时间时,该参数不起作用,保留;获取时间时该参数有效。
    hour - 时,int类型,范围[0 ~ 23]。
    minute - 分,int类型,范围[0 ~ 59]。
    second - 秒,int类型,范围[0 ~ 59]。
    microsecond - 微秒,int类型,保留参数,暂未使用,设置时间时该参数写0即可。
  • 🌿rtc.memory(arry):形参为数组,可用于存储一个字符串。
import machinertc = machine.RTC()# 获取RTC存储器的字节数组对象
data = 'hello'
rtc.memory(data)# 获取RTC存储器的字节数组对象
print(rtc.memory())
>>> %Run -c $EDITOR_CONTENT
b'hello'
>>> 

📝测试例程

import machine
import time
rtc = machine.RTC()# 设置RTC时间
# rtc.datetime((2023, 11, 6, 1, 12, 12, 15, 12))  # (,,,星期,,,,毫秒部分),设置星期无效
rtc.init((2023, 11, 6, 1, 12, 12, 15, 12))
# 定义星期数组
weekdays = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']# rtc.datetime() # get date and time
# 循环获取RTC时间并打印
while True: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))# 读取RTC内存的值memory_value = rtc.memory()# 将内存值转换为字符串memory_str = memory_value.decode('utf-8')# 打印内存值print("RTC Memory:", memory_str)freq = machine.freq()  #查询运行频率print("freq:", freq)machine.freq(240000000)  #查询运行频率time.sleep(1)
  • 🔖测试中,实际读到的rtc.memory()为空的。
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/163769.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

华为防火墙基本原理工作方法总结

防火墙只会对tcp首包syn建立会话表&#xff0c;其它丢掉&#xff0c;如synack&#xff0c;ack udp直接建立会话表 icmp只对首包请求包建立会话表&#xff0c;其它包&#xff0c;如应答的不会建立直接丢掉 防火墙状态查看&#xff1a; rule name trust_untrust source-zone tru…

Texlive安装

下载4.8G的iso文件 解压 或 装载后&#xff0c;以管理员身份运行(.bat)文件。 运行以下两句代码进行Texlive相关升级 tlmgr option repository otan tlmgr update --self --all 运行以下三行代码&#xff0c;检查是否安装成功 latex -v xelatex -v pdflatex -v 如果有异常…

Linux网络编程03

select的缺陷 &#xff08;1&#xff09;fd,set的本质是一个位图&#xff0c;容量是固定的1024&#xff0c;因此最大只能监听1024个连接 &#xff08;可以扩容&#xff09; &#xff08;2&#xff09;监听和就绪用的是同一个数据结构&#xff0c;使用困难 &#xff08;3&#x…

【GitHub】Watch、Star、Fork、Follow 有什么区别?

目录 一、前言二、区别1. Watch2. Star3. Fork4. Follow 一、前言 GitHub 是最受欢迎的代码托管平台之一&#xff0c;拥有大量的开源代码可供学习。 Github 中也有类似 “点赞”、“收藏”、“加关注” 的功能。 下面介绍下&#xff0c;GitHub 中 Watch、Star、Fork、Follow 有…

云服务器哪家便宜靠谱 | 简单了解亚马逊云科技发展史

云服务器哪家便宜又靠谱呢&#xff1f;为什么说亚马逊云科技在这道题答案的第一行&#xff0c;一篇故事告诉你。 1994年&#xff0c;杰夫贝索斯在西雅图创建了亚马逊&#xff0c;最初只是一个在线书店。 1997年&#xff0c;亚马逊在纳斯达克交易所上市&#xff0c;成为一家公…

10 路由协议:西出网关无故人,敢问路在何方

1.网络包出了网关之后&#xff0c;就有了一种漂泊的悲凉感 2.之前的场景是比较简单的场景&#xff0c;但是在实际生产环境下&#xff0c;出了网关&#xff0c;会面临着很多路由器&#xff0c;有很多条道路可以选。 3、如何配置路由&#xff1f; 路由表的设计 1.路由器就是一…

技术分享 | Selenium多浏览器处理

实战演示 Python 版本 #导入依赖 import os from selenium import webdriverdef test_browser():#使用os模块的getenv方法来获取声明环境变量browserbrowser os.getenv("browser").lower()#判断browser的值if browser "headless":driver webdriver.Ph…

C# 继承,抽象,接口,泛型约束,扩展方法

文章目录 前言模拟需求场景模拟重复性高的需求初始类结构继承优化抽象类 需求1&#xff1a;打印CreateTime方法1&#xff1a;使用重载方法2&#xff1a;基类函数方法3&#xff1a;泛型约束方法3.1&#xff1a;普通泛型方法方法3.2&#xff1a;高级泛型约束&#xff0c;扩展方法…

简单工厂模式、工厂方法模式、抽象工厂模式

简介 将实例化代码提取出来&#xff0c;放到一个类中统一管理和维护&#xff0c;达到和主项目依赖关系的解耦&#xff0c;从而提高项目的扩展性和维护性。 工厂模式将复杂的对象创建工作隐藏起来&#xff0c;而仅仅暴露出一个接口供客户使用&#xff0c;具体的创建工作由工厂管…

OJ中常用平衡树,Treap树堆详解

文章目录 Treap定义Treap的可行性Treap的构建节点定义旋转左单旋右单旋旋转的代码实现 插入插入的代码实现 删除遍历查找Treap对权值的扩展Treap对size的扩展扩展size域后的节点定义和旋转&#xff0c;插入&#xff0c;删除操作查询第k小的元素求元素的排名 查询后继、前驱Trea…

qt报错permission denied

写fk项目的时候&#xff0c;报这个错&#xff0c;然后网上查&#xff0c;说的是因为之前运行的qt进程没有关闭&#xff0c;然后我在任务管理器上查看&#xff0c;却没有看见有我正在运行的qt程序&#xff0c;我再出现清除 qmake也不可以&#xff0c;然后我再去删除out目录下的所…

apache-tomcat-9.0.29 安装配置教程

链接&#xff1a;https://pan.baidu.com/s/100buXYpn8w8xjI2KdvHk2Q?pwd2mwc 提取码&#xff1a;2mwc 1.将压缩包解压到指定文件夹下 2.进入bin文件夹下 3.找到setclasspath.bat文件 4.推荐用notepad打开文件&#xff0c;并做如下配置&#xff08;可解决tomcat启动闪退问题&…