第一章 本文章学习方法
目录
万事开头难,如果打好了基础,后面学习就事半功倍了!本系列文章将详细介绍 W55MH32学习的基础知识,包括:环境搭建、W55MH32 入门知识、新建工程、例程分析、时钟系统。学好了这些基础知识,在后面的例程学习部分,将会有非常大的帮助,能极大的提高大家的学习效率。
如果您是初学者,建议好好学习本并理解这些知识,手脑并用,不要漏过任何内容,一遍学不会的可以多学几遍,总之这些知识点都要掌握。如果您已经学过 W55MH32了,本系列内容则可以挑选着学习。
为了让大家更好的学习和使用本文章,本章将给大家介绍一下本文章的学习方法,包括:本文章的学习顺序、编写规范、代码规范、资料查找、学习建议等内容。
本章将分为如下几个小节:
1.本文章学习顺序
2.本文章参考资料
3.本文章编写规范
4.例程资源说明
5.学习资料查找
1 本文章学习顺序
为了让大家更好的学习和使用本文章,我们做了以下几点考虑:
- 坚持循序渐进的思路编写,从基础到入门,从简单到复杂。
- 将知识进行分类介绍,简化学习过程,包括:基础篇、入门篇。
- 将硬件介绍独立成一个文档 《W55MH32_用户手册.pdf》,本文章着重介绍软件知识。
因此,大家在学习本文章的时候,我们建议:先通读一遍《W55MH32_用户手册》,对开发板的硬件资源有个大概了解,然后从基础篇开始,再到入门篇循序渐进,逐一攻克。
对初学者来说,尤其要按照以上顺序学习,不要跳跃式学习,因为我们文章本的知识都是一环扣一环的,如果前面的知识没学好,后面的知识学起来就会很困难。
2 本文章参考资料
本文章的主要参考资料有以下两份文档:
《W55MH32_参考手册》
《W55MH32_数据手册》
3 本文章编写规范
本文章通过数十个例程,给大家详细介绍 W55MH32 的所有功能和外设,按难易程度以及知识结构,我们将本文章分为两个篇章:基础篇、入门篇。
基础篇,主要是一些基础知识介绍,包括开发环境搭建、新建工程、时钟树介绍等,这些章节在结构上没有共性,但是互相有关联,有一个集成的关系在里面,即:必须先学了前面的知识,才好学习后面的知识点。
入门篇详细介绍了 W55MH32 每一个外设的使用方法及驱动代码,并且还介绍了一些非常实用的程序代码(纯软件例程)而且这些章节在结构上都比较有共性,一般分为 4 个部分,如下:
- 外设简介
- 寄存器分析
- 程序设计
- 下载验证
外设功能介绍,简单介绍具体章节所要用到的外设功能、框图和寄存器等,让大家对所用外设的功能有一个基本了解,方便后面的程序设计。
4 例程资源说明
我们提供的这些例程,基本都是原创,拥有非常详细的注释,代码风格统一、循序渐进,非常适合初学者入门。
例程如下:
1.ADC(模拟 - 数字转换器)
此例程用于演示如何使用微控制器的 ADC 功能,将模拟信号转换为数字信号。通常可用于测量传感器的模拟输出,如温度传感器、压力传感器等的输出信号。
2.BKP(备份寄存器)
该例程展示了如何使用备份寄存器。备份寄存器可以在主电源掉电时,依靠电池等备用电源保持数据,常用于保存一些关键的系统参数,例如实时时钟的校准值、设备的配置信息等。
3.CAN(控制器局域网)
此例程演示了 CAN 总线通信的实现。CAN 总线是一种广泛应用于汽车、工业控制等领域的串行通信协议,它具有高可靠性、实时性强等特点,可用于多个节点之间的数据通信和控制。
4.CRC/CRC_DifferentCrcMode(循环冗余校验/不同的 CRC 模式)
该例程主要展示了循环冗余校验(CRC)的使用,以及不同 CRC 模式的实现。
CRC 是一种数据传输检错功能,通过对数据进行计算生成校验码,接收方通过同样的计算来验证数据的完整性。
不同的 CRC 模式可能具有不同的多项式和计算规则。
5.CRYPT(加密)
此例程用于演示微控制器的加密功能,可能涉及对称加密算法(如 AES)或非对称加密算法(如 RSA)。
加密功能可用于保护数据的安全性,防止数据在传输或存储过程中被窃取或篡改。
6.DAC(数字 - 模拟转换器)
该例程展示了如何使用 DAC 功能,将数字信号转换为模拟信号。
常用于音频输出、信号发生器等应用场景,可将数字音频数据转换为模拟音频信号输出。
7.FLASH(闪存)
此例程主要演示了对微控制器内部闪存的操作,包括数据的写入、读取和擦除等。
闪存常用于存储程序代码和一些需要长期保存的数据,如设备的配置参数、用户数据等。
8.GPIO(通用输入输出)
该例程用于演示如何使用通用输入输出引脚。GPIO 是微控制器最基本的外设之一,可用于连接外部设备,如按键、LED 灯等,实现输入检测和输出控制功能。
9.IAP(在应用编程)
此例程展示了在应用编程的实现。IAP 允许在设备运行过程中对内部闪存进行编程,可以实现远程固件升级、程序更新等功能,提高了设备的可维护性和灵活性。
10.IIC(集成电路间总线)
该例程演示了 IIC 总线通信的实现。IIC 是一种串行通信协议,常用于连接多个集成电路,如传感器、存储器等,具有简单、灵活、占用引脚少等优点。
11.IIS(集成音频接口)
此例程展示了 IIS 接口的使用。IIS 是一种专门用于音频数据传输的接口标准,可用于连接音频编解码器、音频放大器等设备,实现高质量的音频数据传输。
12.IWDG/IWDG_Reset(独立看门狗/独立看门狗复位)
该例程主要演示了独立看门狗的使用及其复位功能。独立看门狗是一种硬件定时器,用于监测系统的运行状态。如果系统在规定时间内没有喂狗(即复位看门狗计数器),看门狗将产生复位信号,使系统重新启动,以避免系统陷入死循环或异常状态。
13.MCO/MCO_PllDiv(微控制器时钟输出/微控制器时钟输出的 PLL 分频)
此例程展示了微控制器时钟输出(MCO)功能,以及如何对时钟输出进行 PLL 分频。
MCO 可以将微控制器内部的时钟信号输出到外部引脚,供其他设备使用。
通过 PLL 分频可以调整输出时钟的频率,以满足不同设备的需求。
14.MPU/MPU_Test(内存保护单元/内存保护单元测试)
该例程演示了内存保护单元(MPU)的使用及其测试。MPU 用于对内存区域进行保护,可以设置不同内存区域的访问权限,防止程序对关键内存区域进行非法访问,提高系统的安全性。
15.OTP/OTP_WriteRead(一次性可编程存储器/一次性可编程存储器的读写)
该例程展示了一次性可编程存储器(OTP)的读写操作。OTP 是一种只能进行一次编程的存储器,常用于存储一些关键的、不可更改的数据,如设备的唯一标识、加密密钥等。
16.PWR(电源管理)
此例程主要演示了微控制器的电源管理功能。电源管理可以控制微控制器的功耗,例如进入低功耗模式(如睡眠模式、停机模式等),以延长电池供电设备的续航时间。
17.RCC(复位和时钟控制)
该例程展示了复位和时钟控制模块的使用。RCC 用于配置微控制器的时钟源、时钟分频等参数,以及对系统进行复位操作。合理的时钟配置可以确保微控制器各个模块正常工作。
18.RTC(实时时钟)
此例程演示了实时时钟的使用。RTC 是一种独立的时钟模块,即使系统断电,依靠备用电源(如纽扣电池)也能继续运行,用于提供准确的时间和日期信息。
19.RTTHREAD/Nano(RT-Thread 实时操作系统/RT-Thread Nano 版本)
该例程展示了如何在微控制器上使用 RT-Thread 实时操作系统的 Nano 版本。
RT-Thread 是一个开源的实时操作系统,具有高度可裁剪、低功耗等特点,可用于构建复杂的嵌入式系统,提高开发效率和系统的稳定性。
20.SDIO/SDIO_SDCardFatfs(安全数字输入输出/基于 SDIO 的 SD 卡和 FAT 文件系统)
该例程演示了如何使用 SDIO 接口与 SD 卡进行通信,并使用 FAT 文件系统对 SD 卡进行读写操作。
SDIO 是一种专门用于与 SD 卡进行高速通信的接口,FAT 文件系统是一种常见的文件系统,
可用于在 SD 卡上存储和管理文件。
21.SPI(串行外设接口)
该例程展示了 SPI 总线通信的实现。SPI 是一种高速、全双工的串行通信协议,常用于连接外部设备,如闪存、传感器等,具有传输速度快、接口简单等优点。
22.TIM(定时器)
此例程用于演示微控制器定时器的使用。定时器可以用于产生定时中断、测量时间间隔、生成 PWM 信号等,在很多应用场景中都有广泛的应用,如电机控制、信号发生器等。
23.TRNG(真随机数发生器)
该例程展示了真随机数发生器的使用。真随机数发生器可以产生真正的随机数,常用于加密、安全认证等领域,确保系统的安全性和随机性。
24.USART(通用同步异步收发传输器)
该例程演示了 USART 通信的实现。USART 是一种常用的串行通信接口,可用于与其他设备进行数据通信,如与计算机进行串口通信、与其他微控制器进行通信等。
25.USB(通用串行总线)
该例程展示了 USB 接口的使用。USB 是一种广泛应用的串行通信接口,具有高速、通用性强等特点,可用于连接各种外部设备,如鼠标、键盘、存储设备等。
26.WWDG(窗口看门狗)
该例程主要演示了窗口看门狗的使用。窗口看门狗与独立看门狗类似,也是用于监测系统的运行状态,但它有一个“窗口”时间范围,只有在这个时间范围内喂狗才有效,可以更精确地监测系统的运行情况。
27.WZTOE(WIZnet 以太网模块)
该例程展示了如何使用 WIZnet 以太网模块进行网络通信。WIZnet 以太网模块可以方便地为微控制器添加以太网通信功能,实现与互联网的连接,常用于物联网设备、网络监控等领域。
5 学习资料查找
官网: w5500.com
github: WIZnet · GitHub
gitee: WIZnet HK (wiznet-hk) - Gitee.com
CSDN: WIZnet-CSDN博客