1.实验目的:掌握基础的STM32CUBE开发环境与新建工程,学会控制指定的GPIO端口(点亮闪烁的LED灯) 实验过程: 2.新建工程:安装STM32CUBEMX软件,打开STM32CUBE软件,选取对应的STM32型号(这里以STM32F407为例进行讲解),编译环境(常用的有IAR和KEIL这里以IAR为例),和存盘目录。型号选取如图1所示,在project---settings里设置程序路径和编译环境(如图2)。 图1 型号选取 图2 编译环境与路径设置 3.单片机引脚配置:配置单片机的时钟,配置led灯的外设GPIO(输出模式配置,上拉模式设置,输出速度设置等),因为是点亮LED灯所以要将LED对应的GPIO引脚设置为输出模式,为了保证单片机有足够的驱动能力,我们将引脚配置为上拉模式。在PINOUT中配置时钟和引脚模式,在clock configuration配置系统的详细时钟,在configuration中设置具体的GPIO等外设的具体参数。注:当对应的引脚配置成功后会显示为绿色。 图3 GPIO和时钟配置 图4 GPIO的详尽设置 4.代码的自动生成:至此我们对GPIOA_3的操作整体框架就配置完成了,下面就进行代码的自动生成,然后到我们上文所配置的编译环境下去工作了。点击project下的代码生成选项软件自动执行代码生成工作,生成完毕后点击open project就此打开工程。打开工程编译后 图5 打开工程 图 6 IAR下的程序 5.GPIO功能实现:我们的实验目的是对LED灯进行闪烁处理,因此我们要对相对应的LED GPIO引脚进行置一,延时,置零,延时这四个动作重复进行,因此我们需要找到GPIO写操作函数,和延时函数。GPIO的写操作函数在stm32f4xx_hal_gpio.h中,延时函数在stm32f4xx_hal.c中。如图9所示,将两个操作函数分别复制到main函数的while(1)下。 图7 GPIO写操作函数 图8 延时操作函数 图9 6.修改操作函数的指定参数:修改的具体参数可到下列的函数中去复制,然后替换main函数中的操作函数的参数。替换结果如图11所示。至此整个项目程序就设计完毕了。对程序整体进行编译后下载到单片机内就可以看到led灯在不停的闪烁(闪烁时间可以通过设置不同的延时时间来完成) 图10 参数的具体位置 图 11 |
|