[ STM32 ] ___寄存器点灯
简介
寄存器点灯(stm32f10x)实验其实就是实现GPI/O端口(GPIOC13)高低电平的转换。
描述
每个GPI/O端口有:
- 两个32位配置寄存器(低:GPIOx_CRL,高:GPIOx_CRH);
- 两个32位数据寄存器(输入:GPIOx_IDR,输出:GPIOx_ODR);
- 一个32位置位/复位寄存器(GPIOx_BSRR),一个16位复位寄存器(GPIOx_BRR)和一个32位锁定寄存器(GPIOx_LCKR)。
存储器映像
- 存储器组起始地址:
- 封装寄存器列表
//寄存器的值常常是芯片外设自动更改的,即使 CPU 没有执行程序,也有可能发生变化
//编译器有可能会对没有执行程序的变量进行优化
//volatile 表示易变的变量,防止编译器优化,
#define __IO volatile
typedef unsigned int uint32_t;
typedef unsigned short uint16_t;
// GPIO 寄存器结构体定义
typedef struct {
__IO uint32_t CRL; // 端口配置低寄存器,地址偏移:0X00
__IO uint32_t CRH; // 端口配置