STM32跑马灯实验的基本步骤(库函数)

1.硬件设计

本次用到的硬件只有 LED(DS0 和 DS1)。其电路在 ALIENTEK 探索者 STM32F4 开发板 上默认是已经连接好了的。DS0 接 PF9,DS1 接 PF10。所以在硬件上不需要动任何东西。其连 接原理图如图
在这里插入图片描述

2.软件设计

1.

首先,找到TEST 工程(在光盘:4,程序源码\1,标准例程-寄存器版本 \实验 0 新建工程实验) ,在该工程文件夹下面新建一个 HARDWARE 的文件夹,用来存储以后 与硬件相关的代码。然后在 HARDWARE 文件夹下新建一个 LED 文件夹,用来存放与 LED 相 关的代码。
在这里插入图片描述

2.

然后我们打开 USER 文件夹下的 test.uvproj 工程,新建一个C文件,然后保存在
HARDWARE→LED 文件夹下面,保存为 led.c。在该文件中输入如下代码:

#include "led.h" 
//初始化 PF9 和 PF10 为输出口.并使能这两个口的时钟 
//LED IO 初始化 
void LED_Init(void) 
{        
	RCC->AHB1ENR|=1<<5;//使能 PORTF 时钟   		 
	GPIO_Set(GPIOF,PIN9|PIN10,GPIO_MODE_OUT,GPIO_OTYPE_PP, 
	GPIO_SPEED_100M,GPIO_PUPD_PU); //PF9,PF10 设置  
	LED0=1;//LED0 关闭  LED1=1;//LED1 关闭 
} 

然后再在LED文件夹中加一个led.h(这是规范,规矩就是规矩,自定义文件中.c与.h并存)
接着把.c文件和.h文件加入工程中
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.

时钟使能:

(在rcc文件中此处有5个使能函数,我们选第一个AHB1)
在这里插入图片描述

选AHB1中的参数时定位到AHB1函数中去,然后在函数中发现assert_param函数直呼内涵,因为我们可以在此函数中发现参数的具体位置,如下图所示:
在这里插入图片描述
它的有效值一般在上面的宏定义中,我们初始化的IO是F,故第一个参数的值为RCC_AHB1Periph_GPIOF(因为我们PF9,PF10对应的是F的IO口),如下图所示:

在这里插入图片描述
同理,第二个参数:
在这里插入图片描述
所以,我们的我们使能部分函数为:
在这里插入图片描述

IO口的初始化函数:

void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct)

很明显,第一个参数为哪个IO口,我们填GPIOF,第二个参数为一个结构体变量,我们先定义一个结构体,然后依次配结构体内部各个参数,最后在GPIO_Init函数中取此结构体的地址。(详细步骤不说,上面已经稍作演示)
在这里插入图片描述

最后主函数:

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值