在对io口位操作时候,为了不影响其他位,要使用影子寄存器。 通常是先对影子寄存器操作了在把其值给io口得数据寄存器。 影子寄存器也是自己定义的,初始化以后,他的各个位的值都知道了,那么先对影子寄存器操作后,再把值给数据寄存器,和你直接把数值给数据寄存器还有什么区别。 可能问题描述的不清楚,主要对这个有疑问。 当然有一点我是清楚的,就是为了不改变其他口得驱动方式时可以用到影子寄存器。因为当有一些端口采用的上拉或者下拉时候,其数据寄存器的值会改变驱动方式。那么,当端口中没有上啦或者下来这类的端口是,进行位操作是不是就不需要用影子寄存器了呢。 |