【正点原子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

相关文章

Nginx设置连接超时并进行测试的方法步骤

《Nginx设置连接超时并进行测试的方法步骤》在高并发场景下,如果客户端与服务器的连接长时间未响应,会占用大量的系统资源,影响其他正常请求的处理效率,为了解决这个问题,可以通过设置Nginx的连接... 目录设置连接超时目的操作步骤测试连接超时测试方法:总结:设置连接超时目的设置客户端与服务器之间的连接

Java中String字符串使用避坑指南

《Java中String字符串使用避坑指南》Java中的String字符串是我们日常编程中用得最多的类之一,看似简单的String使用,却隐藏着不少“坑”,如果不注意,可能会导致性能问题、意外的错误容... 目录8个避坑点如下:1. 字符串的不可变性:每次修改都创建新对象2. 使用 == 比较字符串,陷阱满

Java判断多个时间段是否重合的方法小结

《Java判断多个时间段是否重合的方法小结》这篇文章主要为大家详细介绍了Java中判断多个时间段是否重合的方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录判断多个时间段是否有间隔判断时间段集合是否与某时间段重合判断多个时间段是否有间隔实体类内容public class D

Python使用国内镜像加速pip安装的方法讲解

《Python使用国内镜像加速pip安装的方法讲解》在Python开发中,pip是一个非常重要的工具,用于安装和管理Python的第三方库,然而,在国内使用pip安装依赖时,往往会因为网络问题而导致速... 目录一、pip 工具简介1. 什么是 pip?2. 什么是 -i 参数?二、国内镜像源的选择三、如何

IDEA编译报错“java: 常量字符串过长”的原因及解决方法

《IDEA编译报错“java:常量字符串过长”的原因及解决方法》今天在开发过程中,由于尝试将一个文件的Base64字符串设置为常量,结果导致IDEA编译的时候出现了如下报错java:常量字符串过长,... 目录一、问题描述二、问题原因2.1 理论角度2.2 源码角度三、解决方案解决方案①:StringBui

Linux使用nload监控网络流量的方法

《Linux使用nload监控网络流量的方法》Linux中的nload命令是一个用于实时监控网络流量的工具,它提供了传入和传出流量的可视化表示,帮助用户一目了然地了解网络活动,本文给大家介绍了Linu... 目录简介安装示例用法基础用法指定网络接口限制显示特定流量类型指定刷新率设置流量速率的显示单位监控多个

Java覆盖第三方jar包中的某一个类的实现方法

《Java覆盖第三方jar包中的某一个类的实现方法》在我们日常的开发中,经常需要使用第三方的jar包,有时候我们会发现第三方的jar包中的某一个类有问题,或者我们需要定制化修改其中的逻辑,那么应该如何... 目录一、需求描述二、示例描述三、操作步骤四、验证结果五、实现原理一、需求描述需求描述如下:需要在

JavaScript中的reduce方法执行过程、使用场景及进阶用法

《JavaScript中的reduce方法执行过程、使用场景及进阶用法》:本文主要介绍JavaScript中的reduce方法执行过程、使用场景及进阶用法的相关资料,reduce是JavaScri... 目录1. 什么是reduce2. reduce语法2.1 语法2.2 参数说明3. reduce执行过程

C#中读取XML文件的四种常用方法

《C#中读取XML文件的四种常用方法》Xml是Internet环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具,下面我们就来看看C#中读取XML文件的方法都有哪些吧... 目录XML简介格式C#读取XML文件方法使用XmlDocument使用XmlTextReader/XmlTextWr

python使用fastapi实现多语言国际化的操作指南

《python使用fastapi实现多语言国际化的操作指南》本文介绍了使用Python和FastAPI实现多语言国际化的操作指南,包括多语言架构技术栈、翻译管理、前端本地化、语言切换机制以及常见陷阱和... 目录多语言国际化实现指南项目多语言架构技术栈目录结构翻译工作流1. 翻译数据存储2. 翻译生成脚本