看了一些操作,有些想法,也不知对不: 对一个功能模块,有很多寄存器可供读写或者控制,大致分为三类:写控制寄存器、读数据寄存器、状态寄存器。
读写控制寄存器 :对模块进行初始化配置,确定模块的工作方式
读数据寄存器 :将模块(实现某种功能后)反馈 的信息量,进行采集存储,以便控制器读取。
状态寄存器:标记了此时模块的工作进程,以便及时处理。
可以直接对寄存器操作,或者间接。比如,STM32的库函数操作,就是通过结构体将寄存器的配置信息写到寄存器中。
但是,很多模块并不是直接对寄存器进行操作。而是通过某一种通信协议实现,比如控制寄存器,将控制寄存器的配置信息存储在某个数组中,通过 通信(比如I2C)传输。 |