为什么在给寄存器(端口)进行配置时,常常是进行位操作而不直接赋值呢?
因为我们在对寄存器进行配置时也不一定对其所有的位都需要配置,比如我们对32位的ARM单片机的某个寄存器进行位配置时,我们往往是对32位中的某几位进行配置,其他的位我们并不需要配置,我们希望它保持原来的初始状态(保持初始状态的好处是:当我们在下一次需要对它进行配置时,我们就不用去判断这些位的初始状态是什么)。
我们如果对其进行直接赋值,我们还需要考虑其他不需要配置位的初始值到底是0还是1后才能对该寄存器赋值,但是如果我们利用位操作,那么我们完全不需要考虑那些不用配置的位,只需要考虑需要配置的位是0还是1。这样使得寄存器的位配置更加简单高效。