【正点原子STM32连载】 第一章 本书学习方法摘自【正点原子】APM32F407最小系统板使用指南

news2025/2/12 21:37:47

1)实验平台:正点原子stm32f103战舰开发板V4
2)平台购买地址:https://detail.tmall.com/item.htm?id=609294757420
3)全套实验源码+手册+视频下载地址: http://www.openedv.com/thread-340252-1-1.html#

第一章 本书学习方法

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

1.1 本书学习顺序

为了让读者更好地学习和使用本书,我们做了以下几点考虑:
1,坚持循序渐进的思路讲解,从基础到入门,从简单到复杂;
2,将知识进行分类介绍,简化学习过程;
3,将板卡硬件资源介绍独立成一个文档(《APM32F407最小系统板硬件参考手册.pdf》)。
因此,读者在学习本书的时候,我们建议:先通读一遍《APM32F407最小系统板硬件参考手册.pdf》,对板卡的硬件资源有个大概的了解,然后从本书的基础篇开始,再到入门篇,最后是提高篇,循序渐进,逐一攻克。
对于初学者,更是要按照以上建议的学习路线进行学习,不要跳跃式学习,因为本书中的知识是环环相扣的,如果没有掌握前面的知识,就去学习后面的知识,就会学的非常吃力。
对于已经有了一定单片机基础的读者,就可以跳跃式地学习,学习效率,当然了,若是遇到不懂的知识点,也得查阅前面的知识点进行巩固。
1.2 本书参考资料
本书主要参考的资料有一下两份文档:
《APM32F4xxx用户手册》
《Arm® Cortex®-M4 Processor Technical Reference Manual》
前者是Geehy官方针对APM32F4系列MCU提供的用户手册,该用户手册向程序开发人员提供了如何使用MCU系统架构、存储器和外设所涉及的全部信息。
后者是ARM针对ARM Cortex-M4内核提供的技术参考手册,该技术参考手册包含了对ARM Cortex-M4内核和其使用的指令集、寄存器、内存映射、浮点和跟踪调试等的支持文档。
以上提及的两份文档也是读者在学习本书的过程中必不可少的参考资料,读者可以在A盘8,APM32参考资料中找到这两份文档。
1.3 本书编写规范
本书通过数十个实验例程为读者详细介绍了APM32几乎所有的功能和外设,按照难易程度以及知识结构,本书分为三大篇章:基础篇、入门篇和提高篇。
基础篇,共十章,主要是一些基础知识的介绍、包括开发环境搭建、Geehy标准库介绍、创建MDK工程、时钟系统介绍、SYSTEM文件夹介绍等,这些章节在结构上没有共性,但相互有关联,即:必须先学习前面的知识,才能更好地学习后面的知识。
入门篇和提高篇,共54章,介绍了APM32F407的绝大部分外设及其驱动代码,并且还介绍了一些非常实用的程序代码(纯软件例程),如:内存管理、文件系统、T9拼音输入法、手写识别、图片解码、IAP等。这部分内容占了本书的绝大部分篇幅,并且这些章节在结构上比较有共性,一般分为三个部分,如下:
1,硬件设计
2,程序设计
3,下载验证
硬件设计,包括具体章节实验例程实现的功能说明、使用到的硬件资源及其相关的硬件原理图,从而让读者清楚具体章节的实验例程要做什么?用那些硬件资源来做?这些硬件资源是如何进行连接的?便于在程序设计时编写驱动代码和应用代码。
程序设计,一般包括:驱动介绍、配置步骤、关键代码解析、main函数讲解等及部分,一点一点地介绍程序代码是怎么来的和注意事项等,从而让读者掌握整个程序代码。
下载验证,属于实践环节,在程序设计完成之后,下载并验证设计的程序是否能按照预期工作,形成一个闭环的过程。
1.4 本书代码规范
为了提高读者编写代码的质量,本书对代码风格进行了统一,详细的代码规范说明文档,请参考A盘1,入门资料【正点原子】嵌入式单片机 C代码规范与风格.pdf,对于初学者务必好好地学习一下这份文档。
下面总结几个代码编写规范的关键点:
1,所有函数、变量名称,非特殊情况,一般使用小写字母;
2,注释使用Doxgen风格,除屏蔽外,一律使用“/* */”的方式进行注释;
3,代码统一使用4个空格进行缩进;
4,每两个函数之间,一般有且只有一个空行;
5,相对独立的程序块之间,使用一个空行隔开;
6,全局变量的命名一般使用“g_”开头,全局指针变量的命名使用“p_”开头;
7,“if”、“for”、“while”、“do”、“case”、“switch”、“default”等语句单独占一行,并且无论其有多少行执行语句,都加上“{}”。
1.5 例程资源说明
APM32F407最小系统板的配套资料中提供的标准例程多达55个,这些标准例程均是基于Geehy提供的标准库进行编写的,并且也提供可寄存器版本的模板例程供读者参考和学习。提供的例程基本都是原创,并且拥有非常详细的注释,代码风格统一、内容循序渐进,非常适合初学者入门。
APM32F407最小系统板的例程如下表所示:
在这里插入图片描述

从上表中可以看出,正点原子APM32F407最小系统板的例程基本上涵盖了APM32F407ZGT6芯片的所有片上资源,并且还扩展了很多有价值的例程,例如:USMART调试实验、内存管理实验、T9拼音输入法实验、手写识别实验、FreeRTOS移植实验等。
并且按照上表的实验顺序编号可以看出,例程的安排都是循序渐进的,首先是最基础的跑马灯实验,然后一步一步地深入,从简单到复杂,这样更有利于读者学习和掌握,正也因此,正点原子的APM32F407最小系统板是非常适合初学者的。
1.6 学习资料查找
学习资料包括三个方面:
1,Geehy官方资料
Geehy官方(https://www.geehy.com/)在其官网上提供了APM32芯片相关的IC文档和软件,索引方式如下图所示(若后续Geehy官网更新,索引方式可能会有差别):
在这里插入图片描述

图1.6.1 Geehy官网APM32F407系列芯片资料索引
随后在该页面下方,就能看到Geehy官方给出的相关资料,如下图所示:
在这里插入图片描述

图1.6.2 Geehy官方“IC文档”资料(部分截图)
在这里插入图片描述

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【ArcGIS Pro二次开发】(60):按图层导出布局

在使用布局导图时,会遇到如下问题: 为了切换图层和导图方便,一般情况下,会把相关图层做成图层组。 在导图的时候,如果想要按照图层组进行分开导图,如上图,想导出【现状图、规划图、管控边界】3…

零基础看懂免费开源的Stable Diffusion

文章目录 前言Diffusion模型推理过程训练过程 Stable Diffusion模型参考 前言 前面一篇文章主要讲了扩散模型的理论基础,还没看过上篇的小伙伴可以点击查看:DDPM理论基础。这篇我们主要讲一下一经推出,就火爆全网的Stable Diffusion模型。St…

最大限度增加销售额!亚马逊提醒卖家准备Q4季度促销库存!

亚马逊美国站发布公告称为了最大限度提高卖家销售额,确保您的亚马逊物流库存在第四季度的促销活动中按时到达亚马逊运营中心,亚马逊建议卖家检查补货库存并及时将库存送到运营中心,以下是公告内容: 为了最大限度地提高您的假期销…

【Linux取经路】揭秘进程的父与子

文章目录 1、进程PID1.1 通过系统调用接口查看进程PID1.2 父进程与子进程 2、通过系统调用创建进程-fork初始2.1 调用fork函数后的现象2.2 为什么fork给子进程返回0,给父进程返回pid?2.3 fork函数是如何做到返回两次的?2.4 一个变量怎么会有不…

微信可以设置延迟到账了!让资金更安全!

微信几乎已经成为了每个人离不开的交流、通讯、支付工具,微信支付也是离不开的移动支付手段。 如果我们在微信转账时出现转错账的情况怎么办?其实微信转账是可以设置到账时间的。 什么是延时到账? 延时到账是指,收款方在确认了你的…

VIOOVI的ECRS工时分析软件分析:SOP的核心和特征是什么?

制定SOP的主要目的是为企业做技术储备、提供企业的工作效率、防止同样的错误反复出现、让员工作业有标准化的行为准则。以规定的成本、规定的工作时间,生产质量均匀、符合规范的产品。为了能够达到上述要求,如果制造现场的操作混乱,比如制作工…

在vue3+vite项目中使用jsx语法

如果我掏出下图,阁下除了私信我加入学习群,还能如何应对? 正文开始 前言一、下载资源二、利用vite工具引入babel插件总结 前言 最近在为部署人员开发辅助部署的工具,技术栈是vue3viteelectron,在使用jsx语法时&#x…

【学习】若依源码(前后端分离版)之 “ 数据的导入导出功能”

大型纪录片:学习若依源码(前后端分离版)之 “ 数据的导入导出功能” 前言导入功能实现前端部分后端部分 导出功能实现前端部分后端部分8月9日补充:自定义隐藏属性列导出对象的子列表 结语 前言 在实际开发中,碰到大批…

【java实习评审】对推电影详情模块的基本电影模型设计到位,并能考虑到特色业务的设计

大家好,本篇文章分享一下【校招VIP】免费商业项目"推电影"第一期 电影详情模块 Java同学的开发文档周最佳作品。该同学来自暨南大学电子信息专业。 本项目的商业出发点: 豆瓣评分越来越水,不太符合年青人的需求,我们推…

React Dva项目小优化之redux-action

之前 我们讲过 models 接下啦 我们来给大家讲一个新的库 这个库的话 有最好 没有影响也不大 它主要是帮助我们处理 action的 我们直接在 GitHub 官网上搜索 redux-action 我们搜出来 第一个就是 从星数来看 还是非常优秀的 我们拉下来 找到这个Documentation 然后点击进去 进…

【WiFi】WiFi 6E最新支持的国家和频段

信道Map图 国家和频段 CountryStatus Spectrum Andorra Adopted Considering 5945-6425 MHz 6425-7125 MHz ArgentinaAdopted5925-7125 MHzAustralia Adopted Considering 5925-6425 MHz 6425-7125 MHz Austria Adopted Considering 5945-6425 MHz 6425-7125 MHz BahrainA…

IOC容器 - Autofac

DI(依赖注入):DI(Dependency Injection)是一种实现松耦合和可测试性的软件设计模式。它的核心思想是将依赖关系的创建与管理交给外部容器,使得对象之间只依赖于接口而不直接依赖于具体实现类。通过依赖注入…

MySQL多表连接查询3

目录 表结构 创建表 表数据 查询需求: 1.查询student表的所有记录 2.查询student表的第2条到4条记录 3.从student表查询所有学生的学号(id)、姓名(name)和院系(department)的信息 4.从s…

【boost网络库从青铜到王者】第一篇:visual studio 系列配置boost网络库

文章目录 1、asio网络库的介绍2、asio网络库的下载和编译3、visual studio 配置boost头文件以及库文件4、使用boost网络库来写一段代码测试 1、asio网络库的介绍 ASIO(Asynchronous I/O) 是一个C网络库,由Boost C 库的一部分衍生而来&#x…

PHP 求解两字符串所有公共子序列及最长公共子序列 支持多字节字符串

/*** 获取两字符串所有公共子序列【不连续的】 例:abc ac > ac** param string $str1 字符串1* param string $str2 字符串2** return array*/ function public_sequence(string $str1, string $str2): array {$data [[-1, -1, , 0, ]]; // 子序列容器【横坐标 …

project_serial_port

文章目录 效果![在这里插入图片描述](https://img-blog.csdnimg.cn/77ab9856af714b06b69f2ca959dc8ea3.png)源码widget.cppwidget.h 效果 源码 widget.cpp #include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent) :QWidget(parent)…

Java学习内容有什么?这篇全是干货

Java 是目前应用非常广泛的一种计算机高级编程语言,它是一种计算机程序设计语言,被广泛应用于各大行业和领域,如金融、汽车、医疗、电子、互联网等等。Java 诞生之后风靡全球,并且一直保持其高人气,因此 Java 的学习也…

自动清洁离子风机一般具有什么特点?

自动清洁离子风机是一种能够自动清洁空气中的离子,并同时进行空气净化的设备。它采用先进的离子生成技术,可以释放负离子并吸附空气中的污染物,如细菌、病毒、灰尘、花粉等,将它们沉积在设备表面。当设备侦测到需要清洁时&#xf…

那些年的Xposed开发经验记录

把之前写的Xposed相关文章合并到一块,方便查阅 目录 多进程App的Hook问题XposedHelper中的静态变量demo的AndroidManifest.xml的测试核心代码结论限制handleLoadPackage被单个进程多次执行的问题 多dex Hook问题为应用增加权限利用Xposed删除权限参考 Hook框架集锦…

《漫画算法:小灰的算法之旅》——赠书活动

我想应该有很多人对我今天推荐的书籍不陌生,《漫画算法:小灰的算法之旅》已经是圈内人熟知的“红人”了,但也存在不断有新人入坑,这里就好好介绍一下这本包上“糖衣”的算法“炮弹”吧,整个过程如同本书形象“Q弾可爱&…