登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
导读
排行榜
资讯
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
写博客
小组
VIP申请
VIP网盘
网盘
联系我们
发帖说明
道具
勋章
任务
淘帖
动态
分享
留言板
导读
设置
我的收藏
退出
腾讯QQ
微信登录
1
2
/ 2 页
下一页
返回列表
首页
›
业界区
›
安全
›
《DNK210使用指南 -CanMV版 V1.0》第十六章 machine模块 ...
《DNK210使用指南 -CanMV版 V1.0》第十六章 machine模块实验
[ 复制链接 ]
馑妣窟
2025-6-8 12:42:41
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
第十六章 machine模块实验
1)实验平台:正点原子DNK210开发板
2)章节摘自【正点原子】DNK210使用指南 - CanMV版 V1.0
3)购买链接:https://detail.tmall.com/item.htm?&id=782801398750
4)全套实验源码+手册+视频下载地址:http://www.openedv.com/docs/boards/k210/ATK-DNK210.html
5)正点原子官方B站:https://space.bilibili.com/394620890
6)正点原子K210技术交流企鹅群:605557868
本章实验将介绍machine模块的基础知识,以及machine模块内部分函数的使用。通过本章的学习,读者将学习到machine模块的基本使用方法。
本章分为如下几个小节:
16.1 machine模块介绍
16.2 硬件设计
16.3 程序设计
16.4 运行验证
16.1 machine模块介绍
machine模块是CanMV内置的模块,machine模块包含了与Kendryte K210硬件相关的特定功能,machine模块中的大部分功能允许实现对Kendryte K210上硬件(例如CPU、UART、Timer等)的直接且不受限制的访问和控制,因此能够帮助开发者快速地实验一些硬件功能。
machine模块提供了3个函数和7个类,machine模块提供的函数,如下表所示:
表16.1.1 machine模块提供的函数
machine模块提供的类,如下表所示:
表16.1.2 machine模块提供的类
本章着重介绍machine模块提供的函数,在后续章节将陆续对machine模块提供的部分类进行介绍。
machine模块提供了unique_id()函数,用于获取Kendryte K210的32字节唯一ID,unique_id()函数如下所示:
machine.unique_id()
复制代码
unique_id()函数用于获取Kendryte K210的32字节唯一ID,32字节唯一 ID可以被作为每颗Kendryte K210芯片的“身份证”。
unique_id()函数的使用示例如下所示:
import machine
uid = machine.unique.id()
复制代码
machine模块提供了reset()函数,用于对Kednryte K210进行软件复位,reset()函数如下所示:
machine.reset()
复制代码
reset()函数用于对Kendryte K210进行软件复位,相当于对板卡进行重启操作。
reset()函数的使用示例如下所示:
import machine
machine.reset()
复制代码
machine模块提供了reset_cause()函数,用于获取Kendryte K210的复位原因,reset_cause()函数如下所示:
machine.reset_cause()
复制代码
reset_cause()函数可以获取Kendryte K210本次运行前复位的复位原因,其中复位原因如下表所示:
表16.1.3 复位原因描述表
reset_cause()函数的使用示例如下所示:
import machine
cause = machine.reset_cause()
复制代码
16.2 硬件设计
16.2.1 例程功能
1.使用unique_id()函数,获取Kendryte K210的唯一ID,并打印输出
2.使用reset_cause()函数,获取Kendryte K210本次运行的复位原因,并打印输出
3.使用reset()函数,对Kendryte K210进行软件复位
16.2.2 硬件资源
本章实验内容,主要讲解machine模块中函数的使用,无需关注硬件资源。
16.2.3 原理图
本章实验内容,主要讲解machine模块中函数的使用,无需关注原理图。
16.3 程序设计
16.3.1 machine函数
有关machine函数的介绍,请见第16.1小节《machine模块介绍》。
16.3.2 程序流程图
图16.3.2.1 machine模块实验流程图
16.3.3 main.py代码
main.py中的脚本代码如下所示:
import machine
import time
# 获取唯一ID并打印输出
uid = machine.unique_id()
print(uid)
print("".join(["%02X" % byte for byte in uid]))
# 获取复位原因并打印输出
cause = machine.reset_cause()
def decode_cause(cause):
if cause == (machine.PWRON_RESET or machine.HARD_RESET):
return "Pin reset"
elif cause == machine.WDT_RESET:
return "WDT0 reset"
elif cause == machine.WDT1_RESET:
return "WDT1 reset"
elif cause == machine.SOFT_RESET:
return "Software reset"
else:
return "Unknow"
print(decode_cause(cause))
# 延时一段时间
time.sleep_ms(500)
# 软件复位
machine.reset()
复制代码
可以看到,首先是通过machine.unique_id()函数获取Kendryte K210的唯一ID,并通过print()函数将其打印输出,但由于该函数返回的是bytes类型的数据,为了方便查看,同时将其格式化为十六进制数据进行打印输出。
接着是使用machine.reset_cause()函数获取复位原因,该函数返回的是一个int类型的数据,复位原因对应的int数据都以常量的形式保存在machine模块中如表16.1.3,在将复位原因转换为对应的字符串后,通过print()函数将其打印输出。
在最后是使用machine.reset()函数对Kendryte K210进行软件复位,复位后Kendryte K210将重新启动,CanMV也将重新运行。
16.4 运行验证
将DNK210开发板连接CanMV IDE,并点击CanMV IDE上的“开始(运行脚本)”按钮后,可以看到“串行终端”输出了一些信息,如下图所示:
图16.4.1 “串行终端”窗口打印输出
从“串行终端”的窗口中可以看到,前两行输出的是Kendryte K210的唯一ID,值得一提的是,虽然打印输出了64字节的唯一ID,但有效的只有前32字节。可以看到第三行,输出的是“Pin reset”,说明本次运行前的复位原因是“引脚复位”。
由于在main.py中的最后执行了machine.reset()函数,因此Kendryte K210将会执行一次复位,因此,通过CanMV IDE软件能观察到在执行完main.py后,原本处于“已连接”状态的Kendryte K210设备变为了“未连接”状态,如下图所示:
图16.4.2 设备断开连接
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
DNK210
使用指南
CanMV
V1
第十六
相关帖子
MCP C# SDK v1.0 正式发布
《DNESP32P4开发指南_V1.0》第十一章 LED实验
《DNESP32P4开发指南_V1.0》第十一章 LED实验
《DNESP32P4开发指南_V1.0》第十一章 LED实验
《DNESP32P4开发指南_V1.0》第十一章 LED实验
Calico IPIP 使用指南
《DNESP32P4开发指南_V1.0》第十二章 KEY实验
《DNESP32P4开发指南_V1.0》第十二章 KEY实验
《DNESP32P4开发指南_V1.0》第十三章 EXIT实验
Calico VXLAN 使用指南
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
业界
MCP C# SDK v1.0 正式发布
0
731
柏球侠
2026-03-12
安全
《DNESP32P4开发指南_V1.0》第十一章 LED实验
1
206
孜稞
2026-03-27
安全
《DNESP32P4开发指南_V1.0》第十一章 LED实验
3
473
骛扼铮
2026-03-27
安全
《DNESP32P4开发指南_V1.0》第十一章 LED实验
3
630
类饲冰
2026-03-27
安全
《DNESP32P4开发指南_V1.0》第十一章 LED实验
0
249
顶豌
2026-03-27
业界
Calico IPIP 使用指南
0
226
孟茹云
2026-03-29
安全
《DNESP32P4开发指南_V1.0》第十二章 KEY实验
0
46
昝琳怡
2026-03-30
安全
《DNESP32P4开发指南_V1.0》第十二章 KEY实验
2
773
焦和玉
2026-03-30
安全
《DNESP32P4开发指南_V1.0》第十三章 EXIT实验
3
820
公新蕾
2026-04-01
业界
Calico VXLAN 使用指南
1
819
橘芜
2026-04-05
回复
(32)
溶绚
2025-10-13 05:59:01
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
不错,里面软件多更新就更好了
越蔓蔓
2025-11-3 02:01:07
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
东西不错很实用谢谢分享
空娅芬
2025-11-5 08:56:52
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
谢谢分享,辛苦了
嶝扁
2025-12-9 01:56:39
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
懂技术并乐意极积无私分享的人越来越少。珍惜
事确
2025-12-16 19:20:41
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
用心讨论,共获提升!
孓访懔
2025-12-28 22:16:49
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
谢谢楼主提供!
旱由
2026-1-15 17:30:12
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
不错,里面软件多更新就更好了
蚬蕞遂
2026-1-17 22:40:58
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
谢谢分享,试用一下
缄戈
2026-1-19 04:50:43
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
谢谢楼主提供!
坪钗
2026-1-19 11:39:05
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
这个好,看起来很实用
寇油
2026-1-23 09:10:11
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
谢谢分享,试用一下
左丘平莹
2026-1-24 05:15:02
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
感谢分享,下载保存了,貌似很强大
金娅鸣
2026-1-24 06:43:29
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
用心讨论,共获提升!
均浇
2026-1-24 13:26:15
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
分享、互助 让互联网精神温暖你我
皮仪芳
2026-1-25 09:09:21
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
谢谢分享,试用一下
梳踟希
2026-1-27 02:24:54
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
前排留名,哈哈哈
撷监芝
2026-2-3 09:12:41
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
感谢,下载保存了
请蒂
2026-2-4 05:38:46
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
很好很强大 我过来先占个楼 待编辑
莅耸
2026-2-4 05:50:10
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
鼓励转贴优秀软件安全工具和文档!
下一页 »
1
2
/ 2 页
下一页
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
签约作者
程序园优秀签约作者
发帖
馑妣窟
2026-2-4 05:50:10
关注
0
粉丝关注
21
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
3934307807
991126
anyue1937
9994892
kk14977
6845359
4
xiangqian
638210
5
神泱
9517
6
宋子
9876
7
韶又彤
9909
8
荪俗
8991
9
蓬森莉
9868
10
俞瑛瑶
10000
查看更多
今日好文热榜
395
天谋科技入选北京市 2026 年第一批专精特新
155
AI对普通人到底有什么用?这8个场景告诉你
77
【节点】[Reciprocal节点]原理解析与实际应
254
为什么使用 Skillsbase 维护自己的 Skills
368
WorkBuddy:快速开启龙虾(OpenClaw)之旅
541
为什么使用 Skillsbase 维护自己的 Skills
869
为什么使用 Skillsbase 维护自己的 Skills
192
为什么使用 Skillsbase 维护自己的 Skills
688
自我即自感:一种极简存在论(四篇)
706
为什么现在所有大厂都在做 CLI ?(附Cluade
390
GitHub 热门项目 Top 10 | 2026年04月07日
533
.NET 高级开发 | .NET 中的序列化和反序列
88
读2025世界前沿技术发展报告34海洋信息技术
731
读2025世界前沿技术发展报告34海洋信息技术
296
程序员AI编程之提示词【学习笔记】
805
Tcache attack
852
AgileAI - 一个新的 .NET AI 库
302
OpenClaw AI助手本地部署完整教程
25
AI 编程助手 + 基于 CLI 的 Manus 实现(Ja
719
React 技术深度探讨