独闷闷网

 找回密码
 立即注册
搜索
查看: 3596|回复: 1
收起左侧

[原创] 【mk_欣驰】STM32学习笔记—地址映射以及位绑定

[复制链接]
发表于 2014-9-8 21:48:18 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 mk_欣驰 于 2014-9-8 22:17 编辑

1、片上外设地址      
          0x40000000~0x5FFFFFFF(512MB)

QQ截图20140908194505.png
2、外设基地址 (PERIPH_BASE)
     PERIPH_BASE=0x4000 0000
3、总线基地址 (APB2PERIPH_BASE)
QQ截图20140908201035.png
      总线基地址 = 外设基地址+偏移地址
AHB:AHBPERIPH_BASE    = PERIPH_BAS+ 偏移地址
                            =0x4000 0000+0x1 800= 0x40018000
APB2:APB2PERIPH_BASE  = PERIPH_BAS+ 偏移地址
                            = 0x4000 0000+0x1 0000 = 0x4001 0000
APB1: APB1PERIPH_BASE = PERIPH_BAS+ 偏移地址
                                       =0x4000 0000+0x0 0000 = 0x4000 0000
      地址范围      
    总线   
总线基地址
总线基地址相对外设基地址
(0x4000 000)的偏移
0x4001 8000-0x5003 FFFF
   AHB
0x40018000   
    0x1 8000
0x4001 0000 - 0x4001 7FFF
APB2      
0x4001 0000
   0x1 0000
0x4000 0000 - 0x4000FFFF
APB1      
0x4000 0000
   0x0 0000

4、寄存器组基地址
     寄存器组基地址 = 总线外设的基地址 + 相总线基地址的偏移量
GPIOA端口的寄存器组的基地址: GPIOA_BASE
                                        = APB2PERIPH_BASE + 0x0800
                                                       =0x4001 0000+0x0800=0x4001 0800
GPIOB端口的寄存器组的基地址:GPIOB_BASE
                                        = APB2PERIPH_BASE + 0x0C00
                                                       =0x4001 0000+0x0800=0x4001 0C00
GPIOC端口的寄存器组的基地址: GPIOC_BASE
                                        = APB2PERIPH_BASE + 0x1000
                                                      =0x4001 0000+0x0800=0x4001 1000
   .............
QQ截图20140908202812.png

5、端口配置寄存器地址
端口配置寄存器地址=寄存器组基地址+偏移地址
(1)端口输入数据寄存器(GPIOx_IDR) (x=A..E)
QQ截图20140908205838.png

IDR偏移地址:
                        IDR0~7偏移地址=0X08
                        IDR8~15偏移地址=0X09
                        IDR16~23偏移地址=0X0A
                        IDR24~31偏移地址=0X0B
GPIOA端口输入数据寄存器: GPIOA_IDR
                                     = GPIOA_BASE + 0x08/0x09/0x0A/0x0B
                                           =0x4001 0800+0x08/0x09/0x0A/0x0B
                                                  =0x4001 0808/9/A/B
GPIOB端口输入数据寄存器: GPIOB_IDR
                                   = GPIOB_BASE + 0x08/0x09/0x0A/0x0B
                                                =0x4001 0C00+0x08/0x09/0x0A/0x0B
                                                =0x4001 0C08/9/A/B
GPIOC端口输入数据寄存器: GPIOC_IDR
                                  = GPIOC_BASE + 0x08/0x09/0x0A/0x0B
                                               =0x4001 1000+0x08/0x09/0x0A/0x0B
                                               =0x4001 1008/9/A/B
   .............




(2)端口输出数据寄存器(GPIOx_ODR) (x=A..E)
QQ截图20140908205848.png

ODR偏移地址:
                       ODR0~7偏移地址=0X0C
                       ODR8~15偏移地址=0X0D
                       ODR16~23偏移地址=0X0E
                       ODR24~31偏移地址=0X0F

GPIOA端口输出数据寄存器: GPIOA_ODR
                               = GPIOA_BASE + 0x0C/0x0D/0x0E/0x0F
                                          =0x4001 0800+0x0C/0x0D/0x0E/0x0F
                                           =0x4001 080C/D/E/F
GPIOB端口输出数据寄存器: GPIOB_ODR
                               = GPIOB_BASE + 0x0C/0x0D/0x0E/0x0F
                                           =0x4001 0C00+0x0C/0x0D/0x0E/0x0F
                                           =0x4001 0C0C/D/E/F
GPIOC端口输出数据寄存器: GPIOC_ODR
                               = GPIOC_BASE + 0x0C/0x0D/0x0E/0x0F
                                           =0x4001 1000+0x0C/0x0D/0x0E/0x0F
                                           =0x4001 100C/D/E/F
    .............

另附两张表:

QQ截图20140908213219.png
QQ截图20140908213231.png

                     新人发帖,难免出错,敬请指教
                     欢迎各位STM32爱好者一起探讨
                                                                                                                                  ————欣驰 为您奉献
                                                                                                                                               qq  2452679951











乐于分享,勇于质疑!
发表于 2014-9-9 06:00:58 | 显示全部楼层
很好,感谢分享。
乐于分享,勇于质疑!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|独闷闷网 ( 粤ICP备12007667号-2 )

GMT+8, 2021-7-30 13:01 , Processed in 0.153814 second(s), 21 queries .

快速回复 返回顶部 返回列表