请问下大家,
stm32 的位带操作片上外设区: 0x4000_0000-0x400F_FFFF(最低1MB )上所以寄存器都支持位带操作?
比如RCC,ADC 什么的都支持吗?
看了《Cortex-M3权威指南》在网上找了下资料,似乎都没有说····
还有一个代码执行效率的疑问,
a &=~(1 << 5); // 将变量 a 的第5位清0
a |= (1 << 6); // 将变量 a 的第6位置1
a ^=(1 << 2); // 将变量 a 的第2位取反
这三条c代码和
a &= 0xFFFFFFDF; // 将变量 a 的第5位清0
a |= 0x00000040; // 将变量 a 的第6位置1
a ^= 0x00000002; // 将变量 a 的第2位取反
这三条代码执行效率是否一样,我在MDK上调试出来看汇编是一样,不知道其他编译器,比如IAR里是否一样?
|