首页 > 其他分享 >《DNK210使用指南 -CanMV版 V1.0》第十章 板卡信息实验

《DNK210使用指南 -CanMV版 V1.0》第十章 板卡信息实验

时间:2024-07-08 16:20:22浏览次数:17  
标签:info 类中 板卡 V1.0 board IO 使用指南 CanMV

第十章 板卡信息实验

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

本章实验将介绍如何使用CanMV内置的board脚本来获取板卡信息,方便后续实验使用。通过本章的学习,读者将学习到CanMV内置board脚本的使用。
本章分为如下几个小节:
10.1 board脚本介绍
10.2 硬件设计
10.3 程序设计
10.4 运行验证

10.1 board脚本介绍
在使用CanMV的过程中,经常需要控制一些Kendryte K210的片上外设,以实现某一具体的功能,例如操作GPIO控制LED的亮灭、操作I2S控制数字功放芯片通过扬声器播放音频等,那么在初始化GPIO、I2S等外设的时候,就需要确定这些外设需要通过哪些IO引脚与外部的LED、数字功放芯片等外设通讯,通常情况下,这需要查看板卡的原理图来确定使用的IO引脚,但查看原理图的效率较低,且会在脚本文件中固定下程序中使用的IO引脚,不利于脚本程序的移植。
综合以上IO引脚使用的需求和查看原理图的不便利性,CanMV内置提供了board脚本,board脚本中提供了board_info类,board_info类中又提供了all()和get()这两个方法,通过这两个方法便可快速获取板卡上的IO分配信息。
all()方法用于获取board_info类中的所有属性和方法列表,all()方法如下所示:

board_info.all()

all()方法可以获取到board_info类中的所有属性和方法列表,列表中的前8个元素是board_info类的方法,其余的是board_info类中的属性,因为与板卡上IO分配相关的信息是保存在board_info类的属性中的,因此在调用all()方法时,可以只获取board_info类中的所有属性列表,而不获取board_info中的方法列表,具体如下所示:

from board import board_info

info = board_info.all()[8:]

get()方法用于获取board_info类中属性的值,get()方法如下所示:

board_info.get()

需要注意的是,get()方法并不能直接调用,get()方法会在获取类属性时被自动调用,例如board_info类中有一个BOOT_KEY的属性,该属性的值就是Kendryte K210 BOOT引脚对应的IO编号,要获取board_info类中的BOOT_KEY属性值,可通过以下方式获取:

from board import board_info

boot_pin = board_info.BOOT_KEY

10.2 硬件设计
10.2.1 例程功能
1.使用board_info类中的all()方法,获取board_info类中的所有属性,并打印输出
2.利用board_info类中的get()方法,获取板卡上KEY0按键连接的IO编号,并打印输出

10.2.2 硬件资源
本章实验内容,主要讲解CanMV内置board脚本的使用,无需关注硬件资源。

10.2.3 原理图
本章实验内容,需要通过CanMV内置的board脚本获取板卡上KEY0按键对应的IO编号,为了验证,正点原子DNK210开发板上KEY0按键的连接原理图,如下图所示:

图10.2.3.1 KEY0按键连接原理图

通过以上原理图可以看出,KEY0按键对应的IO编号为IO18。

10.3 程序设计
10.3.1 board脚本
有关board脚本的介绍,请见第10.1小节《board脚本介绍》。

10.3.2 程序流程图

图10.3.2.1 板卡信息实验流程图

10.3.3 main.py代码
main.py中的脚本代码如下所示:

from board import board_info

# 列出所有板卡信息
info = board_info.all()[8:]
print(*info, sep='\n', end='\n\n')

# 打印输出KEY0按键连接的IO
key0_pin = board_info.KEY0
print("The KEY0 button is connected to IO{:d}".format(key0_pin))

可以看到,首先通过board_info.all()方法获取一个板卡的信息列表,然后通过上一章节介绍了print()函数,将该信息列表中的每一个元素通过系统标准输出打印输出,那么便能够在CanMV IDE软件的“串行终端”窗口中进行查看。
接着是获取KEY0按键连接的IO编号,通过board_info.{key}便可以获取board_info类中key属性的值value,最后同样通过print()函数进行打印输出。

10.4 运行验证
将DNK210开发板连接CanMV IDE,并点击CanMV IDE上的“开始(运行脚本)”按钮后,可以看到“串行终端”窗口中输出了一系列信息,如下图所示:

图10.4.1 “串行终端”窗口打印输出

可以看到,“串行终端”串口中显示打印了板卡的所有属性信息,例如LEDR、BEEP等,只需要通过board_info.{key}便可以获取board_info类中key属性的值value,这个value就是对应的IO编号,例如上图“串行终端”窗口的最后一行显示KEY0按键连接到了IO18,通过对比第10.2.3小节《原理图》中的原理图,可以验证是一致的。

标签:info,类中,板卡,V1.0,board,IO,使用指南,CanMV
From: https://www.cnblogs.com/zdyz/p/18290138

相关文章

  • Nuxt框架中内置组件详解及使用指南(二)
    title:Nuxt框架中内置组件详解及使用指南(二)date:2024/7/7updated:2024/7/7author:cmdragonexcerpt:摘要:“本文详细介绍了Nuxt3中和组件的使用方法,包括组件的基本概念、属性、自定义属性、获取引用以及完整示例,展示了如何在Nuxt项目中有效利用这两个组件。categories......
  • Nuxt框架中内置组件详解及使用指南(一)
    title:Nuxt框架中内置组件详解及使用指南(一)date:2024/7/6updated:2024/7/6author:cmdragonexcerpt:本文详细介绍了Nuxt框架中的两个内置组件和的使用方法与功能。确保包裹的内容仅在客户端渲染,适用于处理浏览器特定功能或异步数据加载。而是一个实验性组件,用于在SSR过......
  • 《DNK210使用指南 -CanMV版 V1.0》第九章 打印输出实验
    第九章打印输出实验1)实验平台:正点原子DNK210开发板2)章节摘自【正点原子】DNK210使用指南-CanMV版V1.03)购买链接:https://detail.tmall.com/item.htm?&id=7828013987504)全套实验源码+手册+视频下载地址:http://www.openedv.com/docs/boards/k210/ATK-DNK210.html5)正点原子......
  • FL Studio 21中文破解版,内置激活补丁安装激活使用指南
     FLStudio21在音频质量和性能上也达到了新的高度。它采用了先进的音频处理技术,确保了音频的清晰度和真实度。同时,其强大的处理能力使得用户可以同时运行多个音轨和效果器,而不会出现卡顿或延迟。此外,FLStudio21还提供了丰富的插件和扩展功能,使得用户能够更加方便地与其他......
  • 《DNK210使用指南 -CanMV版 V1.0》第七章 基于CanMV的MicroPython语法开发环境搭建
    第七章基于CanMV的MicroPython语法开发环境搭建1)实验平台:正点原子DNK210开发板2)章节摘自【正点原子】DNK210使用指南-CanMV版V1.03)购买链接:https://detail.tmall.com/item.htm?&id=7828013987504)全套实验源码+手册+视频下载地址:http://www.openedv.com/docs/boards/k210/......
  • 【Emacs Verilog mode保姆级的使用指南】
    ......
  • 《DNK210使用指南 -CanMV版 V1.0》第六章 Kendryte K210固件烧录
    第六章KendryteK210固件烧录1)实验平台:正点原子DNK210开发板2)章节摘自【正点原子】DNK210使用指南-CanMV版V1.03)购买链接:https://detail.tmall.com/item.htm?&id=7828013987504)全套实验源码+手册+视频下载地址:http://www.openedv.com/docs/boards/k210/ATK-DNK210.html......
  • 【前端网页游戏开发】Vue3+PixiJS开发2D闯关打怪游戏,开发时长为6天,成功推出v1.0正式版
    更新内容增加了地图切换功能,扩展了游戏的游玩长度,进入每一关时,击杀10只怪物就会提示通关成功,进入下一关,点击按钮后会恢复玩家的血量,然后重新生成怪物,如果玩家死亡,就会回到提示回到主界面点击后游戏最后增加了BOSS,在玩家进入第四关时会出现BOSS角色,血量为20,玩家伤害为攻击......
  • Airflow:工作流调度的原理与使用指南
    文章目录引言Airflow的原理工作流定义调度器执行器元数据存储用户界面Airflow的使用安装与配置1.环境准备2.安装Airflow3.初始化数据库4.启动Web服务器和调度器5.编写和部署DAGs6.监视和管理结论引言在现代数据处理和分析中,工作流管理变得越来越重要......
  • 【Emacs Verilog mode保姆级的使用指南】
    ......