從圖中我們可以看出,所有內(nèi)部設(shè)備都是掛載的外設(shè)
支持位帶操作的兩個(gè)內(nèi)存區(qū)的范圍是:0x2000_0000‐\0x200F_FFFF(SRAM區(qū)中的最低1MB)0x4000_0000‐\0x400F_FFFF(片上外設(shè)區(qū)中的最低1MB)位帶操作可以在不加任何特殊指令時(shí)實(shí)現(xiàn)位操作。在對(duì)一個(gè)外設(shè)寄存器或者SRAM進(jìn)
支持了位帶操作后,便可以使用普通的加載/儲(chǔ)存指令來對(duì)單一的比特進(jìn)行讀寫操作了。簡(jiǎn)單而言,就是可以單獨(dú)的對(duì)一個(gè)比特位讀和寫。在F103中,有兩個(gè)地方實(shí)現(xiàn)了位帶操作,其中一個(gè)是SRAM區(qū)的最低1MB范圍,第二個(gè)則是片
STM32位帶操作舉例intmain(void){GPIO_InitTypeDefGPIO_InitStruction;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);GPIO_InitStruction.GPIO_Pin=GPIO_Pin_8;GPIO_InitStruction.GPIO_Mode=GPIO_Mode_Out_
STM32支持了位帶操作(bit_band),有兩個(gè)區(qū)中實(shí)現(xiàn)了位帶。其中一個(gè)是SRAM 區(qū)的最低1MB 范圍,第二個(gè)則是片內(nèi)外設(shè) 區(qū)的最低1MB 范圍。這兩個(gè)區(qū)中的地址除了可以像普通的RAM 一樣使用外,它們還都有自己的“位帶別名區(qū)