Arm STM32F1xx上GPIOx_BSSR和GPIOx_BRR之间的差异?

Arm STM32F1xx上GPIOx_BSSR和GPIOx_BRR之间的差异?,arm,stm32,gpio,Arm,Stm32,Gpio,我在看报纸 第173和174页描述了GPIO外围设备的BSSR和BRR寄存器 我不理解BSSR寄存器的复位部分和BRR寄存器之间的区别。它们都将位重置为1,而其他位保持不变,对吗?那么BRR的目的是什么 如果您有一些16位掩码,那么您可以将低16位写入BSRR;取一个补码并将其写入BRR。你不必做任何变换。它可能映射到相同的逻辑(触发器/任何东西),因此BSRR(16..32)与BRR(0..15)相同,但不需要移位。两者都是原子安全的,因为它们是一个可以写的。如果您没有管理银行(如电源睡眠/

我在看报纸

第173和174页描述了GPIO外围设备的BSSR和BRR寄存器

我不理解BSSR寄存器的复位部分和BRR寄存器之间的区别。它们都将位重置为1,而其他位保持不变,对吗?那么BRR的目的是什么


如果您有一些16位掩码,那么您可以将低16位写入BSRR;取一个补码并将其写入BRR。你不必做任何变换。它可能映射到相同的逻辑(触发器/任何东西),因此BSRR(16..32)与BRR(0..15)相同,但不需要移位。两者都是原子安全的,因为它们是一个可以写的。如果您没有管理银行(如电源睡眠/恢复),那么只有一个寄存器才有意义。不过,您可能希望一次管理所有的PIN。好吧,保存一个移位听起来很复杂,但有点道理。谢谢如果您有一些16位掩码,那么您可以将低16位写入BSRR;取一个补码并将其写入BRR。你不必做任何变换。它可能映射到相同的逻辑(触发器/任何东西),因此BSRR(16..32)与BRR(0..15)相同,但不需要移位。两者都是原子安全的,因为它们是一个可以写的。如果您没有管理银行(如电源睡眠/恢复),那么只有一个寄存器才有意义。不过,您可能希望一次管理所有的PIN。好吧,保存一个移位听起来很复杂,但有点道理。谢谢