strb
有没有办法(例如内置函数)使用 C/C++ 和 gcc来创建字节存储( )?
对于以下指令,gcc 当然使用 32 位 store( str
) 到寄存器。
USART1->TDR = 0x01;
这是正确的,因为寄存器的高位未被使用并被分配0
(ARM 参考手册中规定的复位值是正确的)。
strb
可以使用 gcc 的(内置)函数来触发ARM 汇编器中的字节存储 ( ) 吗?
strb
有没有办法(例如内置函数)使用 C/C++ 和 gcc来创建字节存储( )?
对于以下指令,gcc 当然使用 32 位 store( str
) 到寄存器。
USART1->TDR = 0x01;
这是正确的,因为寄存器的高位未被使用并被分配0
(ARM 参考手册中规定的复位值是正确的)。
strb
可以使用 gcc 的(内置)函数来触发ARM 汇编器中的字节存储 ( ) 吗?
如果取消
uint8_t
引用指针,strb
将会生成一条指令。另请参阅: https: //godbolt.org/z/n8v1vcafz
但您不应该对 STM32 寄存器执行此操作,因为必须通过字(32 位)操作来访问它们。否则,行为是未定义的。