1. 先读取寄存器的值:在进行位 *** 作之前,需要先读取寄存器的当前值。可以通过直接读取寄存器的值或者使用对应的寄存器位宏定义来实现。
2. 进行位 *** 作:在得到寄存器当前值之后,进行位 *** 作,可以使用与、或、异或等 *** 作符,也可以使用对应的寄存器位宏定义来实现。需要注意的是,在进行位 *** 作时,需要保留寄存器中其他位的值,而只修改希望改变的位。
3. 写回寄存器:在进行位 *** 作之后,将修改后的值写回到寄存器中,以实现相应的功能。
总的来说,STM32寄存器位 *** 作需要先读取寄存器的值,然后进行位 *** 作,最后将修改后的值写回到寄存器中。这样做可以保证位 *** 作的正确性和寄存器中其他位的稳定性。
使用仿真器烧写app并且仿真是直接运行的app,没有经过IAP跳转。掉电后重新上电运行app则要通过IAP进行跳转。说白了,那你的IAP存在bug,多半是逻辑上的,自己在IAP里面多看看吧,找找原因。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)