小白向大家求助一个问题,谢谢大家

2019-07-20 08:28发布

QQ图片20180422230917.png
这里为什么不能将ccr换成QUADSPI->CCR直接操作寄存器啊,而是要定义一个变量来间接操作,谢谢大家。刚注册的号,没有多少金币,还望大家见谅。。。。


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
11条回答
TCX
2019-07-21 07:47
通过定义一个 ccr变量,将ccr的值配置为你想要对应寄存器的值后,一次性赋值QUADSPI->CCR寄存器并且立即生效,只有一次!而如果你分成n次去赋值这个寄存器的话,每一次赋值时,你其实只想单独改变其中一个位,但实际上其余31个位也同时被修改成你不想要的结果(因为STM32不是51单片机,而这时该寄存器的配置已经生效),自然达不到想要的结果;因此要通过一个变量将所有的寄存器位都配置为你想要的值后再赋值给寄存器;当然啦,STM32有一种操作,叫做位带操作,可以实现类似51单片机的位操作的功能,而不会影响技巧寄存器的其他位,楼主可以去了解一下;个人见解!

一周热门 更多>