前言
本人使用的开发板的芯片是STM32H743XIH6,所以也是根据此芯片来进行操作。
一、寄存器
在STM32的学习过程里面,大部分人最开始应该都是学习标准库版本的,对于寄存器操作应该都不太了解。百度百科对于寄存器的介绍,寄存器是CPU内部用来存放数据的一些小型存储区域,用来暂时存放参与运算的数据和运算结果。
简单的理解为,一个存放了东西的东西。只不过,里面存放的是某些数据或者指令。就像你身份*号,代表了你的省份、城市、县区等等。如果想要找到你,对你做某件事或者获取一些东西,就会根据你的身份*号,找到你的所在地。这些操作,对于寄存器来说,称为读和写。
对于寄存器的读操作来说,就是你想要获取寄存器的数据,那么就需要找到这个寄存器,然后直接读数据多少即可,这也叫访问寄存器。
对于寄存器的写操作来说,就是你想要修改寄存器的数据,那么就需要找到这个寄存器,然后直接将数据写在寄存器里,这也叫写寄存器。
现在我们已经知道了读写操作,但是寄存器这么多,怎么找到我们想要的寄存器呢?怎么去区分它们呢?这就要引用C语言的一个操作,指针和&的使用,想在窗口控制台输入一个变量,是不是要用到scanf这个语句?那这个&符号的作用,就是取这个变量的地址!不同的寄存器,地址也就不一样,所以想要找到对应的寄存器,我们就找到对应的地址就行了!就像前面讲的身份*号,你可能四处旅游,想通过身份*号找到你可能有点困难,但是在STM32芯片里就不同,每一个寄存器的地址都在芯片出厂的时候就已经分配了!
|