目标是自己编写一个简单的寄存器地址映射程序,来控制GPIO口输出高低电平
首先来简单的介绍一下控制stm32IO口的基本操作
收藏0 举报
#define PERIPH_BASE ((unsigned int)0x40000000)//强制转换为32位的
/*APB2 总线基地址 */ #define APB2PERIPH_BASE (PERIPH_BASE + 0x10000)
/*GPIOB外设基地址*/ #define GPIOB_BASE (APB2PERIPH_BASE + 0x0C00)
/* AHB总线基地址 */ #define AHBPERIPH_BASE (PERIPH_BASE + 0x20000)
/*RCC外设基地址*/ #define RCC_BASE (AHBPERIPH_BASE + 0x1000)
/*RCC的AHB1时钟使能寄存器地址,强制转换成指针*/ #define RCC_APB2ENR *(unsigned int*)(RCC_BASE+0x18)//这里是把这个数据强制转换为一个32位的指针地址 unsigned int 就是转换为32位的意思
/* GPIOB寄存器地址,强制转换成指针 */ #define GPIOB_CRL *(unsigned int*)(GPIOB_BASE+0x00) #define GPIOB_CRH *(unsigned int*)(GPIOB_BASE+0x04)
本版积分规则 发表回复 回帖并转播 回帖后跳转到最后一页
106
1380
1
扫码关注 21ic 官方微信
扫码关注嵌入式微处理器
扫码关注电源系统设计
扫码关注21ic项目外包
扫码浏览21ic手机版
本站介绍 | 申请友情链接 | 欢迎投稿 | 隐私声明 | 广告业务 | 网站地图 | 联系我们 | 诚聘英才
京公网安备 11010802024343号