简述:本文使用了STM32芯片在面包板上进行点灯实验,实验中我们采用了查芯片手册和使用寄存器的方法来实现我们的目的,通过寄存器实验,我们对单片机的了解会进一步加深.
一、实验准备
在开始前我们需要下载keil软件,并且确保能找到STM32库,没有的话需要下载安装。另外还要下载一份STM32F10xxx参考手册,没有的话可以在以下链接下载:百度网盘 请输入提取码。其次还要准备的器材有STM32F10系列芯片一份(我使用的STM32F103C8T6)、面包板、LED灯、导线,没有器材可以用软件Proteus仿真代替。
二、实验步骤
打开芯片手册,我们需要找到时钟配置寄存器和通用IO口寄存器相关设置。
找到APB2ENR,并且找到开启A、B、C三个端口的位。
我们写代码修改寄存器的步骤就是:找到地址 、给地址赋值,简单两步就可以调用寄存器功能,为了实现打开A、B、C三个端口的时钟,我们就需要把使能寄存器的相关位赋值为1。
我们要用到的地址如下,在参考手册中表1可以查到:
下面是如何调用时钟使能寄存器
#define RCC_APB2ENR (*(unsigned int *)0x40021018)
RCC_APB2ENR|= (1<<2);
RCC_APB2ENR|= (1<<3);
RCC_APB2ENR|= (1<<4);//这里采用的与或运算
//也可以直接写RCC_APB2ENR=0x0000 000e