在对寄存器进行赋值操作时,不能对寄存器分步完成赋值操作,否则结果会出问题!但具体原因还不是很清楚,希望有大神能够指出!
我们一般在修改寄存器值采用 “读-改-写” 方式
如:这是对 CCM_ANALOG_PFD_528n 寄存器分步赋值,最终实验现象有问题。
【修改方法】:
谈到这个问题,我们还经常碰到:
在内核发送指令来控制外设的读写操作时,一定要等待外设内部读写完成后,再去做其它操作,因为处理器执行速度远远大于任何其它外设的操作,因此在外设读写操作未完成时,由内核再发送指令来控制对外设的其它操作,最终会影响实验结果!