多语言展示
当前在线:1124今日阅读:176今日分享:34

3.使用寄存器模板点亮第一个LED灯

今天小编将使用寄存器模板点亮第一个LED灯的过程以及想法记录下来。
工具/原料
1

STM32F407

2

keil5

方法/步骤
1

要想点亮开发板上的LED灯就先需要了解LED的原理图,下图中就是开发板上的LED灯的原理图,可以从下图中看出,给LED灯输出低电压,LED灯就可以被点亮,如下图:

2

下图中可以找到对应的LED1灯在芯片上的位置为PF9,所以给PF9端口输出低电压就可以使LED1灯点亮,如下图:

3

找到之前创建的寄存器模板,将这个模板进行复制,如下图:

4

将复制之后的文件夹修改名称为【寄存器点亮第一个LED】,如下图:

5

打开对应的项目如下图:

6

然后打开【stm32f4xx.h】文件,在这个文件中输入以下代码,行1代码是block2的基地址行3代码是AHB1总线的基地址行5代码是GPIOF的基地址行7代码是GPIOF的模式寄存器,由于地址前有【*(unsigned int *)】,所以表示的是模式寄存器的内容行9代码是GPIOF置位/复位寄存器如下图:

7

要想使GPIOF可用必须使对应的时钟可用,对应是RCC,下图中可以看出RCC也是在AHB1总线上,偏移地址是3800,如下图:

8

下图行11代码表示RCC的基地址,如下图:

9

从下图中可以看出AHB1外设时钟使能寄存器的偏移地址为30,如下图:

10

下图行11代码表示RCC外设时钟使能寄存器内容,如下图:

11

然后回到main.c窗口中开始写对应代码,如下图:

12

行9代码先设置RCC外设时钟使能寄存器为1,如下图:

13

下图中可以看出GPIO端口模式寄存器的描述,这里要设置输出为低电压,这里需要设置为01(通用输出模式),如下图:

14

行10代码设置模式寄存器为输出模式,如下图:

15

下图中是设置GPIO置位/复位寄存器的设置方法,如下图:

16

行13代码设置置位/复位寄存器为1,表示置零(也就是低电压输出),如下图:

17

代码写完之后,点击编译,可以看出没有警告没有错误,如下图:

18

然后下载程序给硬件,如下图:

19

下图中就是硬件,可以看出LED1灯正常点亮,如下图:

注意事项
1

个人观点,仅供参考。

2

感谢阅读。

推荐信息