文章目录
- 前言
- 一、原理分析
- 二、MX6U寄存器定义
- 1.外设结构体
- 2.结构体基地址
- 3.结构体访问指针
- 三、编译下载
- 总结
提示:以下是本篇文章正文内容
一、原理分析前面用C语言编写 LED 灯驱动的时候,每个寄存器的地址都需要写宏定义,这样做实在是太麻烦了,在STM32中,比如访问GPIOB 的寄存器 ODR :GPIOB->ODR
我们也可以参照32的形式将某个外设的所有寄存器写入到一个结构体里面,定义一个结构体指针指向外设的寄存器基地址,这样就可以通过这个结构体指针来访问这个外设的所有寄存器,因为在结构体中成员地址递增,并且属于同一个外设的寄存器地址基本上是相邻的(有些是保留寄存器)
在32中使用寄存器操作GPIO
GPIOE->CRL&=0XFF0FFFFF;
GPIOE->CRL|=0X00300000; //PE5 推挽输出
GPIOE->ODR|=1
关注
打赏