打印

高手解答:STM32 GPIO寄存器之惑

[复制链接]
5291|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wangguanfu|  楼主 | 2008-12-3 17:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
GPIO寄存器里的
GPIOx_ODR
GPIOx_BSRR
....

stm32F103VBT6共有6个GPIO端口啊
怎么上面的寄存器手册里就只看到一个?
如何分别访问哦
沙发
grant_jx| | 2008-12-3 17:11 | 只看该作者

用A、B、C……啊

Pin脚描述里不是定义PA、PB来着,用ABC来区分

使用特权

评论回复
板凳
wangguanfu|  楼主 | 2008-12-3 17:29 | 只看该作者

唉,没仔细看,谢楼上回复

// 0x4001 1800 - 0x40011BFF GPIOE///////////////////////////////
#define GPIOE_CRL       (*(volatile unsigned long *)0x40011800) //端口E配置低寄存器
#define GPIOE_CRH       (*(volatile unsigned long *)0x40011804) //端口E配置高寄存器
#define GPIOE_IDR    (*(volatile unsigned long *)0x40011808) //端口E输入数据寄存器
#define GPIOE_ODR    (*(volatile unsigned long *)0x4001180c) //端口E输出数据寄存
#define GPIOE_BSRR    (*(volatile unsigned long *)0x40011810) //端口E位设置/复位寄存器
#define GPIOE_BRR    (*(volatile unsigned long *)0x40011814) //端口E位复位寄存
#define GPIOE_LCKR      (*(volatile unsigned long *)0x40011818) //端口E配置锁定寄存器
//0x4001 1400 - 0x4001 17FF GPIOD//////////////////////////////
#define GPIOD_CRL       (*(volatile unsigned long *)0x40011400) //端口D配置低寄存器
#define GPIOD_CRH       (*(volatile unsigned long *)0x40011404) //端口D配置高寄存器
#define GPIOD_IDR    (*(volatile unsigned long *)0x40011408) //端口D输入数据寄存器
#define GPIOD_ODR    (*(volatile unsigned long *)0x4001140c) //端口D输出数据寄存
#define GPIOD_BSRR    (*(volatile unsigned long *)0x40011410) //端口D位设置/复位寄存器
#define GPIOD_BRR    (*(volatile unsigned long *)0x40011414) //端口D位复位寄存
#define GPIOD_LCKR      (*(volatile unsigned long *)0x40011418) //端口D配置锁定寄存器
//0x4001 1000 - 0x4001 13FF GPIOC//////////////////////////////
#define GPIOC_CRL       (*(volatile unsigned long *)0x40011000) //端口C配置低寄存器
#define GPIOC_CRH       (*(volatile unsigned long *)0x40011004) //端口C配置高寄存器
#define GPIOC_IDR    (*(volatile unsigned long *)0x40011008) //端口C输入数据寄存器
#define GPIOC_ODR    (*(volatile unsigned long *)0x4001100c) //端口C输出数据寄存
#define GPIOC_BSRR    (*(volatile unsigned long *)0x40011010) //端口C位设置/复位寄存器
#define GPIOC_BRR    (*(volatile unsigned long *)0x40011014) //端口C位复位寄存
#define GPIOC_LCKR      (*(volatile unsigned long *)0x40011018) //端口C配置锁定寄存器
//0X4001 0C00 - 0x4001 0FFF GPIOB //////////////////////////////
#define GPIOB_CRL       (*(volatile unsigned long *)0x40010C00) //端口B配置低寄存器
#define GPIOB_CRH       (*(volatile unsigned long *)0x40010C04) //端口B配置高寄存器
#define GPIOB_IDR    (*(volatile unsigned long *)0x40010C08) //端口B输入数据寄存器
#define GPIOB_ODR    (*(volatile unsigned long *)0x40010C0c) //端口B输出数据寄存
#define GPIOB_BSRR    (*(volatile unsigned long *)0x40010C10) //端口B位设置/复位寄存器
#define GPIOB_BRR    (*(volatile unsigned long *)0x40010C14) //端口B位复位寄存
#define GPIOB_LCKR      (*(volatile unsigned long *)0x40010C18) //端口B配置锁定寄存器
//0x4001 0800 - 0x4001 0BFF GPIOA//////////////////////////////
#define GPIOA_CRL       (*(volatile unsigned long *)0x40010800) //端口A配置低寄存器
#define GPIOA_CRH       (*(volatile unsigned long *)0x40010804) //端口A配置高寄存器
#define GPIOA_IDR    (*(volatile unsigned long *)0x40010808) //端口A输入数据寄存器
#define GPIOA_ODR    (*(volatile unsigned long *)0x4001080c) //端口A输出数据寄存
#define GPIOA_BSRR    (*(volatile unsigned long *)0x40010810) //端口A位设置/复位寄存器
#define GPIOA_BRR    (*(volatile unsigned long *)0x40010814) //端口A位复位寄存
#define GPIOA_LCKR      (*(volatile unsigned long *)0x40010818) //端口A配置锁定寄存器

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

49

主题

348

帖子

15

粉丝