STM32跑马灯配置流程

目录

 

跑马灯配置流程(战舰开发板V3)

LED的初始化

相应功能引脚的确定

确保在文件中添加了相应库文件

先建立LED硬件初始化文件并添加进项目工程中

在创建好的文件中编写初始化LED硬件的程序

编写main函数

函数介绍

外围设备时钟使能函数 “RCC_APB2PeriphClockCmd”

引脚状态设置函数GPIO_Init

引脚电平设置函数GPIO_SetBits&GPIO_ResetBits


跑马灯配置流程(战舰开发板V3)

LED的初始化

LED初始化流程(也适用于其他引脚的初始化操作)

使能相应时钟(为什么一开始先使能时钟,在前面GPIO基础知识中有讲解)

初始化IO口的配置(对哪个IO口进行操作,输入/输出模式,输入/输出速度)

初始化IO口的状态(设置一开始的相应引脚电平)

 

跑马灯实验调用函数的顺序(根据上述流程图确定)

使能IO口时钟。调用函数RCC_APB2PeriphColckCmd()(不同的IO组,调用的时钟使能函数不一样)

 初始化IO口模式。调用函数GPIO_Init()

 操作IO口,输出高低电平(主要调用函数:GPIO_SetBits();GPIO_ResetBits())

相应功能引脚的确定

STM32跑马灯配置流程

插上一句:这里的IO引脚可以输出低电平/高电平,那就说明这个引脚采用的输出方式为“推挽输出模式”。

确保在文件中添加了相应库文件

STM32跑马灯配置流程

这两个文件是STM32开发板的启动文件,可以启动你添加进其中的所有库文件。只注意就行,正点原子给你的template(库函数版本)中已经添加进入这两个文件,只会用就基本上OK了。

先建立LED硬件初始化文件并添加进项目工程中

STM32跑马灯配置流程

在创建好的文件中编写初始化LED硬件的程序

Led.h文件

STM32跑马灯配置流程

led.c文件

STM32跑马灯配置流程

函数参实设置小技巧

第一步:返回函数定义的位置

STM32跑马灯配置流程

第二步:寻找参数的定义形式

STM32跑马灯配置流程

STM32跑马灯配置流程

 

找到参数的合法定义格式

STM32跑马灯配置流程

编写main函数

STM32跑马灯配置流程

注:先初始化在进行引脚的操作

函数介绍

外围设备时钟使能函数 “RCC_APB2PeriphClockCmd”

函数原型

void RCC_APB2PeriphClockCmd(uint32_t RCC_APB2Periph, FunctionalState NewState)

函数名称的由来

RCC  

(Reset Clock Controller)复位与时钟控制器

APB 

(Advanced Peripheral Bus)高性能外围设备总线

Periph 

Peripheral的缩写,意为外部设备

Cmd 

Command的缩写

注:APB与AHB的不同之处

AHB,是Advanced High performance Bus的缩写,译作高级高性能总线,这是一种“系统总线”。

AHB主要用于高性能模块 (如CPU、DMA和DSP等)之间的连接。AHB 系统由主模块、从模块和基础结构(Infrastructure)3部分组成,整个AHB总线上的传输都由主模块发出,由从模块负责回应。

APB是Advanced Peripheral Bus的缩写,这是一种外围总线。

APB主要用于低带宽的周边外设之间的连接,例如UART、1284等,它的总线架构不像 AHB支持多个主模块,在APB里面唯一的主模块就是APB 桥。

这两者都是总线,符合AMBA规范。

引脚状态设置函数GPIO_Init

函数原型

void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct)

函数名称的由来

GPIO

(general-purpose IO pin)意为通用IO引脚

Init

(initial)初始化

引脚电平设置函数GPIO_SetBits&GPIO_ResetBits

函数原型

void GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)

void GPIO_ResetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)

函数的作用

GPIO_SetBits

将引脚电平置1

GPIO_ResetBits

将引脚电平置0

两个函数的实质

STM32跑马灯配置流程

STM32跑马灯配置流程