前言:本文章是为2024年大学生电子竞赛做准备,本人也是刚开始学习,有不理解或理解出错的地方欢迎大家指正,请大家海涵。
三种编码/开发方式
1.寄存器模式:
32单片机中有让人眼花缭乱的寄存器,负责着不同的功能,直接调用寄存器进行编码可以让单片机以最快的速度运行。不过由于寄存器过多,难以编码,所以一般不会用这种编码方式。
2.标准库模式:
可以理解为,这时已经有了相当多见名知意的库函数,这些库函数都是基于寄存器开发的,有大量自检参数的代码故而运行速度相对于寄存器模式较慢,不过直接使用会方便很多,同时代码的可读性也会大大提高。所以使用人数特别多。
3.HAL库模式:
全称是Hardware Abstraction Layer(抽象印象层),相对于标准库有更多更加深入的封装,例如增加了句柄、回调函数等概念。(句柄:首先,句柄的作用是让玩家可以在不完全理解硬件细节的调节下就可以轻松使用硬件的工具。句柄本身是一个指针,通常指向一个结构体,结构体中包括相应硬件的全部信息,使用了该句柄就相当于调用了该硬件。)(回调函数:一些特殊函数,例如中断函数等,用于执行达到特定条件就立刻执行的程序。)该模式拥有更大的可移植性,同时也牺牲了一些性能。