欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: MDK中寄存器地址名稱映射分析(開發指南4.6節) [打印本頁]

作者: 新鄉吳彥祖    時間: 2018-8-18 15:55
標題: MDK中寄存器地址名稱映射分析(開發指南4.6節)
本帖最后由 新鄉吳彥祖 于 2018-8-18 15:57 編輯

MDK中寄存器地址名稱映射分析(開發指南4.6節)
對MCU,一切底層配置,最終都是配置寄存器
庫函數是對底層寄存器封裝了一遍,位操作也是最終操作的寄存器
51中映射的方法:sfr P0=0x80;//P0映射到地址0x80 ,以后只需要直接寫P0=0x00即代表往寄存器地址0x80所代表的寄存器賦值,0x00相當于給P0的每一位IO口都賦值0。這樣的好處是不需要記住每個寄存器的地址,需要用對應的寄存器時直接寫寄存器相應的名稱即可。最常用的P0、P1、P2、P3,四組輸入輸出(I/O)寄存器,以及TH1, TH0, TL1,TL0,SCON,TCON,TMOD,SBUF等等
相比于51,32的寄存器要多得多,32采用了結構體來表示相應的寄存器
GPIOA->ODR=0x00000000。32中每組IO口都有7個寄存器控制這與51稍有不同。每組IO對應一個基地址,寄存器根據基地址進行偏移取的地址,GPIOA的基地址又是根據APB2的地址來偏移,同理得到其他地址。其中外設基地址是一個比較高的地址,他被定義為一個常量,作為參考。再回頭說結構體,我們打開stm32f10x.h 定位到GPIO_TypeDef 定義處:GPIOA被強制轉換為結構體指針,就意味著接下來的地址代表了結構體中的七個寄存器。由于每個寄存器是32位,每個地址設置八位(類似于51),并且結構體存儲的成員他們的地址是連續的。所以GPIOA下的寄存器相對應的寄存器之間的地址都是相差了4,例如我們訪問ODR寄存器就是訪問了ODR相對于GPI_的基地址的偏差的四個地址。





歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1