例如下图寄存器:
0~4位都为rc_w0(其中连接rc和w0的下划线没写标出),根据上表就是:软件可以读此位,也可以通过写0来清除,写1无效。
再如:
可以看到都为rw,也就是标了rw的这些位可读可写。
上图低16位都为r,说明这些位只能读。
小结
实际上,寄存器就分为存储和配置两种,通常情况下配置(configure)寄存器的位一般是可读可写的用来配置状态,而存储寄存器只读用来保护数据。
配置寄存器通常是用来配置某些模式、状态的,在特殊情况下配置寄存器也会包含清除功能;
存储寄存器是用来存储一些数据、状态等,特殊情况下某些存储寄存器还要求包含清除功能;
综合各种特殊情况,就有了一开始图标的这么多种不同的读写状态。