1、构建库函数原型
在之前51学习操作寄存器的时候,十分麻烦,首先要找到对应的寄存器配置地址,再进行操作。当我们引出结构体这个概念后,用结构体赋予寄存器首地址,然后用结构体的顺序去对应每个功能。
io,其实代表着定义这个结构体后,每次执行都要访问寄存器值,这样防止值变动后,系统不知道有变动
定义好每个结构体后,利用指针强制转换这个结构体,用他去指向外设的受地址,那么这个指针内就是对应上每个外设的首要地址+偏移量
构建出底层之后,就要封装库函数,直接操作指针就方便很多
但是在库与寄存器赋值方式又有所不同,但是效果是一样的
但是这样定义引脚可读性非常差,因此在宏定义可以定义好引脚方便使用
构建完引脚定义后,使用枚举体定义构建库函数来初始化引脚
自此,引出HAL库的规范