stm32这个位带操作什么意思

/* BitBand方式1 管脚输出高电平熄灭指示灯 */
LED1OBB = 1;
//上面宏定义#define LED1OBB Periph_BB((uint32_t)&GPIOD->ODR, 2)
// 宏定义#define Periph_BB(PeriphAddr, BitNumber) *(__IO uint32_t *) (0x42000000 |((PeriphAddr - 0x40000000) << 5) | ( BitNumber<< 2))
问题:这个是什么意思

是将RAM和外设中的每一个bit映射到一个独立的地址,对这个地址的32位读写操作实现对一个bit的操作,就像51单片机中的位寻址区域一样。追问

也就是说LED1OBB映射到某一个位,然后对那个位进行赋值操作?

追答

是的。
你上网可以找到更详细的资料。
但用的人很少啊,我感觉意义不大。

追问

因为我是初学者,正在看光盘自带的源码,所以都得看懂

温馨提示:内容为网友见解,仅供参考
无其他回答

位带操作
位带操作 ,指的就是单独对一个bit位进行读和写。在 STM32 中,有两个地方实现了位带,一个是 SRAM 区 的最低 1MB 空间,令一个是 外设区 最低 1MB 空间。这两个 1MB 的空间除了可以像正常的 RAM 一样操作外,他们还有自己的 位带别名区 ,位带别名区把这 1MB 的空间的每一个位膨胀...

stm32位操作的基本思想是啥呀?
STM32对外设端口的操作,是通过对相关寄存器的位操作来控制的。STM32将寄存器的位都映射到位带区 bit_band region ,这样对位带区进行位操作时,就会映射到相应寄存器的位,从而实现对端口的操作。STM32有二个位带区 bit_band region :一是内存 SRAM区,在 0x2000 0000~0x200f ffff范围( 1M空间...

刚开始接触STM32,我想问一下如果我想设置标志位怎么设置。我知道在单片...
其实在STM32里,系统本身也使用了一些地址直接指向位,即操作某个寄存地址,虽然有32位的空间,但有用的只有1位,叫做:位带(bit-band)操作 具体的可以自己百度一下

STM32里面有sys.h吗,我怎么在帮助和手册里面都没找到呢?这个里面是不是...
用的是位带操作 define countof(a) (sizeof(a)\/sizeof(*(a)))\/*位带操作,实现51类似的GPIO控制功能*\/\/*IO口操作宏定义 *\/#define BITBAND(addr, bitnum) ((addr & 0xF0000000)+ \\ 0x2000000+((addr &0xFFFFF)<<5)+(bitnum<<2)) #define MEM_ADDR(addr) *((volatile un...

STM32外设GPIO的配置和应用
用于按键检测。上拉\/下拉输入:为外部设备设定初始电平。模拟功能:适配ADC和DAC,用于输入\/输出配置。复用输出:如开漏\/推挽输出,用于驱动外部数字设备和小功率负载。重映射:早期F1xx系列的功能,用于外设功能的重新定义。锁定:锁定重要IO以防止意外改变。位带操作:高效访问特定比特位。

STM32的SRAM区到底多大啊。为什么资料上说103系列的才48K,
位带,是cortex-M3的特性,这个位带的空间,实际上是一个不存在的空间,是一个虚拟的空间,本质上来说,是CPU的一个算法,所以,在我们用这个cortex-m3做cpu的芯片中,不需要把这个空间真实的做出来,一样可以用这个空间来进行位带操作。所以说,如果你纠结于明明空间不够,为什么还能进行位带操作,...

STM32的意思是什么呢?
学STM32嵌入式,从硬件上讲,一方面就是学习接口电路设计,另一方面就是学习汇编和C语言的板级编程。如果从软件上讲,就是要学习基于ARM处理器的操作系统层面的驱动、移植了。硬件的寄存器类的东西还是要能看懂的,掌握基于板级的汇编和C编程。主要需要学习的有:基础操作:GPIO操作,串口操作,定时器操作...

STM32与s3c2440优劣分析
STM32更像32位的51单片机,更多用来做工业控制。而S3C2440更多是带系统的操作。我现在学的就是STM32,我建议你先学STM32,学会库的使用后,再去学S4C2440,这样过度你会好一点。

STM32中GPIO的8种工作模式
对于输入操作,通过读取特定寄存器来确定引脚的电位状态;对于输出操作,则通过写入寄存器来设定引脚输出高电位或低电位。对于其他特殊功能,有专门的寄存器进行控制。STM32的每个IO口配置有7个寄存器,包括端口配置寄存器、数据寄存器、置位\/复位寄存器、复位寄存器和锁存寄存器。STM32的IO口具有8种工作模式,...

stM32可以跑操作系统吗
可以啊,ucos、freertos、RTOS等等都可以。但要跑windows、linux或者安卓什么的就免了。

相似回答