【正点原子K210连载】第一章 本书学习方法摘自【正点原子】DNK210使用指南-CanMV版指南

本文主要是介绍【正点原子K210连载】第一章 本书学习方法摘自【正点原子】DNK210使用指南-CanMV版指南,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1)实验平台:正点原子ATK-DNK210开发板
2)平台购买地址https://detail.tmall.com/item.htm?id=731866264428
3)全套实验源码+手册+视频下载地址: http://www.openedv.com/docs/boards/xiaoxitongban

第一章 本书学习方法

为了让读者更好地学习和使用本书,本章将为读者介绍本书的学习方法,包括:本书的学习顺序、编写规范、代码规范、资料查找和学习建议等内容。
本章分为如下几个小节:
1.1 本书学习顺序
1.2 本书参考资料
1.3 本书编写规范
1.4 本书代码规范
1.5 例程资源说明
1.6 学习资料查找
1.7 给初学者的建议

1.1 本书学习顺序
为了让读者更好地学习和使用本书,我们做了以下几点考虑:
1,坚持循序渐进的思路讲解,从基础到入门,从简单到复杂;
2,将知识进行分类介绍,简化学习过程;
3,将板卡硬件资源介绍独立成一个文档《DNK210硬件参考手册.pdf》。
因此,读者在学习本书的时候,我们建议:先通读一遍《DNK210硬件参考手册.pdf》,对板卡的硬件资源有个大概的了解,然后从本书的基础篇开始,再到实验篇,循序渐进,逐一攻克。
对于初学者,更是要按照以上建议的学习路线进行学习,不要跳跃式学习,因为本书中的知识是环环相扣的,如果没有掌握前面的知识,就去学习后面的知识,就会学的非常吃力。
对于已经有了一定单片机基础的读者,就可以跳跃式地学习,学习效率,当然了,若是遇到不懂的知识点,也得查阅前面的知识点进行巩固。
1.2 本书参考资料
本书主要参考的资料有如下两份文档:
《Kendryte 规格书》(https://github.com/kendryte/kendryte-doc-datasheet.git)
《CanMV 文档》(https://github.com/kendryte/canmv_docs.git)
这两份文档均是嘉楠科技针对Kendryte K210提供的文档,前者是Kendryte K210的技术规格书,该规格书主要向硬件设计者提供Kendryte K210的硬件参数信息,当然,软件开发者也是有必要了解这些参数信息的。
后者是嘉楠科技针对CanMV项目提供的文档,该文档非常详细地对CanMV的应用开发进行介绍和讲解,并提供了丰富的例程以及API介绍,是CanMV应用开发者入门必看的文档之一。
以上提及的两份文档也是读者在学习本书的过程中必不可少的参考资料,读者可以在A盘Kendryte K210参考资料中找到这两份文档。
1.3 本书编写规范
本书通过数十个例程,为读者详细介绍了Kendryte K210和CanMV的绝大多数功能,按照知识结构,本书分为两大篇章:基础篇和实验篇。
基础篇,共八章,主要是一下基础知识介绍,包括芯片、软件库介绍以及开发环境搭建等,这些章节在结构上没有共性,但相互有关联,即:必须先学习前面的知识,才能更好地学习后面的知识。
实验篇,共三十九章,主要介绍了在CanMV环境下如何在Kendryte K210上各种功能的使用和应用的开发。这些章节在结构上比较有共性,一般分为四个部分,如下:
1,功能介绍
2,硬件设计
3,程序设计
4,运行验证
功能介绍,简单介绍具体实验章节使用到的硬件外设或CanMV中的软件模块,让读者对实验章节中涉及的软硬件原理有一个基本的了解,便于后面的程序设计。
硬件设计,包括实验例程实现的功能说明、使用的硬件资源及其原理图。读者可以清晰地了解实验章节中的实验例程要实现什么功能、用到的哪些硬件资源、各个硬件资源之间的连接原理图如何。这样有利于程序的设计与实现。
程序设计,主要介绍本章实验例程中的程序部分,包含了例程程序用到的关键软件模块介绍、例程程序的程序流程图和主要的代码讲解,让读者深入了解整个程序代码。
运行验证,是实验章节中的实践部分,在完成程序设计之后,运行设计的程序,并观察是否能够按照预期的现象进行功能,形成一个闭环。
1.4 本书代码规范
本书提供的试验例程代码均为Python脚本,因此代码也是严格遵循Python的语法要求进行编写的。
总结几个规范的关键点:
1,使用有意义的变量名和函数名;
2,使用简洁明了的注释介绍代代码的功能和目的;
3,每个代码块都需要以4个空格为一个缩进等级进行缩进,以表达明确的代码层级关系并且方便代码的阅读;
4,方法、函数和代码块两两之间有且只有一个空行;
5,必须严格遵循Python语法进行脚本程序的设计和编写。
1.5 例程资源说明
DNK210开发板的配套资料中提供的CanMV版实验例程多达39个,这些实验例程均是基于CanMV进行编写的,因此也只能在CanMV环境下运行。这些例程大部分都是原创,并且有着非常详细的注释,代码风格统一、内容循序渐进,非常适合初学者入门学习。
DNK210开发板的CanMV版实验例程如下表所示:
在这里插入图片描述

表1.5.1 DNK210 CanMV版例程表
从上表中可以看出,正点原子DNK210开发板的CanMV版例程基本上涵盖了CanMV环境下Kendryte K210上能实现的大部分基础功能。
并且按照上表中的实验名称可以看出,实验例程的安排都是循序渐进的,从简单且基础的功能开始,一步一步地深入,从简单到复杂,这样更有利于读者学习和掌握,也正因此,正点原子的DNK210开发板是非常适合初学者的。
1.6 学习资料查找
有关Kendryte K210和CanMV的相关学习资料,可以尝试从以下五个途径进行获取:
1,嘉楠开发者社区资料下载页面的资料
在嘉楠开发者社区中的资料下载中心,提供了Kednryte K210的部分相关资料,其网页链接为https://developer.canaan-creative.com/resource,在该链接里提供了Kendrryte K210的软件SDK、硬件设计参考、编程指南、编译工具链和IDE等资料,如下图所示:
在这里插入图片描述

图1.6.1 嘉楠开发者社区的资料下载页面
2,嘉楠开发者社区文档页面的资料
嘉楠开发者社区中也针对Kendryte K210提供了CanMV的在线文档,其网页链接为https://developer.canaan-creative.com/canmv/main/canmv/index.html,该在线文档主要介绍CanMV在Kendryte K210上的使用,文档中也提供了一些简单的示例,并且有着对CanMV中API详细的介绍等,如下如所示:
在这里插入图片描述

图1.6.2 嘉楠开发者社区的CanMV文档页面
3,Kendryte GitHub主页的资料
Kendryte K210官方的很多软件、文档等资料都在Github上开源,其网页链接为https://github.com/kendryte,在Kendryte的GitHub主页里可以找到许多Kendryte K210相关的软件、文档等相关的开源仓库,如下图所示:
在这里插入图片描述

图1.6.3 Kendryte的GitHub主页
4,正点原子的学习资料
正点原子提供了大量的学习资料,为方便读者下载所有正点原子最新最全的学习资料,这些资料都放在正点原子文档中心(http://www.openedv.com/docs/index.html),如下图所示(正点原子文档中心会不时地更新,以保证为读者提供最新的学习资料):
在这里插入图片描述

图1.6.4 正点原子文档中心(部分截图)
在正点原子文档中心中,可以找到正点原子所有开发板、模块、产品等的详细资料下载链接。
5,正点原子论坛
正点原子论坛(http://www.openedv.com/forum.php),即开源电子网,该论坛从2010年成立至今,已有十多年的时间,拥有数十万的注册用户和大量嵌入式相关的帖子,每天有数百人互动,是一个非常好的嵌入式学习交流平台。

这篇关于【正点原子K210连载】第一章 本书学习方法摘自【正点原子】DNK210使用指南-CanMV版指南的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1078953

相关文章

Java中流式并行操作parallelStream的原理和使用方法

《Java中流式并行操作parallelStream的原理和使用方法》本文详细介绍了Java中的并行流(parallelStream)的原理、正确使用方法以及在实际业务中的应用案例,并指出在使用并行流... 目录Java中流式并行操作parallelStream0. 问题的产生1. 什么是parallelS

MySQL数据库双机热备的配置方法详解

《MySQL数据库双机热备的配置方法详解》在企业级应用中,数据库的高可用性和数据的安全性是至关重要的,MySQL作为最流行的开源关系型数据库管理系统之一,提供了多种方式来实现高可用性,其中双机热备(M... 目录1. 环境准备1.1 安装mysql1.2 配置MySQL1.2.1 主服务器配置1.2.2 从

JDK21对虚拟线程的几种用法实践指南

《JDK21对虚拟线程的几种用法实践指南》虚拟线程是Java中的一种轻量级线程,由JVM管理,特别适合于I/O密集型任务,:本文主要介绍JDK21对虚拟线程的几种用法,文中通过代码介绍的非常详细,... 目录一、参考官方文档二、什么是虚拟线程三、几种用法1、Thread.ofVirtual().start(

从基础到高级详解Go语言中错误处理的实践指南

《从基础到高级详解Go语言中错误处理的实践指南》Go语言采用了一种独特而明确的错误处理哲学,与其他主流编程语言形成鲜明对比,本文将为大家详细介绍Go语言中错误处理详细方法,希望对大家有所帮助... 目录1 Go 错误处理哲学与核心机制1.1 错误接口设计1.2 错误与异常的区别2 错误创建与检查2.1 基础

Python版本信息获取方法详解与实战

《Python版本信息获取方法详解与实战》在Python开发中,获取Python版本号是调试、兼容性检查和版本控制的重要基础操作,本文详细介绍了如何使用sys和platform模块获取Python的主... 目录1. python版本号获取基础2. 使用sys模块获取版本信息2.1 sys模块概述2.1.1

Python实现字典转字符串的五种方法

《Python实现字典转字符串的五种方法》本文介绍了在Python中如何将字典数据结构转换为字符串格式的多种方法,首先可以通过内置的str()函数进行简单转换;其次利用ison.dumps()函数能够... 目录1、使用json模块的dumps方法:2、使用str方法:3、使用循环和字符串拼接:4、使用字符

Python版本与package版本兼容性检查方法总结

《Python版本与package版本兼容性检查方法总结》:本文主要介绍Python版本与package版本兼容性检查方法的相关资料,文中提供四种检查方法,分别是pip查询、conda管理、PyP... 目录引言为什么会出现兼容性问题方法一:用 pip 官方命令查询可用版本方法二:conda 管理包环境方法

Linux云服务器手动配置DNS的方法步骤

《Linux云服务器手动配置DNS的方法步骤》在Linux云服务器上手动配置DNS(域名系统)是确保服务器能够正常解析域名的重要步骤,以下是详细的配置方法,包括系统文件的修改和常见问题的解决方案,需要... 目录1. 为什么需要手动配置 DNS?2. 手动配置 DNS 的方法方法 1:修改 /etc/res

JavaScript对象转数组的三种方法实现

《JavaScript对象转数组的三种方法实现》本文介绍了在JavaScript中将对象转换为数组的三种实用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友... 目录方法1:使用Object.keys()和Array.map()方法2:使用Object.entr

SpringBoot中ResponseEntity的使用方法举例详解

《SpringBoot中ResponseEntity的使用方法举例详解》ResponseEntity是Spring的一个用于表示HTTP响应的全功能对象,它可以包含响应的状态码、头信息及响应体内容,下... 目录一、ResponseEntity概述基本特点:二、ResponseEntity的基本用法1. 创