天天看點

STM32學習筆記(Second)

1.位段(Bit-Banding)

Cortex™-M3 存儲器映像包括兩個位段(bit-band)區。這兩個位段區将别名存儲器區中的每個字映射到位段存儲器區的一個位,在别名存儲區寫入一個字具有對位段區的目标位執行讀-改-寫操作的相同效果。所有STM32F10x外設寄存器都被映射到一個位段(bit-band)區。這個特性在各個函數中對單個比特進行置1/置0操作時被大量使用,用以減小和優化代碼尺寸.

2.映射公式

映射公式給出了别名區中的每個字是如何對應位帶區的相應位的,公式如下:

bit_word_offset = (byte_offset x 32) + (bit_number × 4) bit_word_addr = bit_band_base + bit_word_offset

其中: bit_word_offset是目标位在存取器位段區中的位置bit_word_addr 是别名存儲器區中字的位址,它映射到某個目标位。bit_band_base 是别名區的起始位址。byte_offset 是包含目标位的位元組在位段里的序号bit_number 是目标位所在位置(0-31)。

繼續閱讀