(STM32基础)STM32实现LED闪烁&LED流水灯&蜂鸣器

一、新建工程

1、按照新建工程步骤创建工程,新建start、library、user三个文件夹,从固件库添加相应文件

(STM32基础)STM32实现LED闪烁&LED流水灯&蜂鸣器_第1张图片

2、keilkil小程序用来清理listings和objects文件夹中编译产生的中间文件,以后需要打包工程的话可以先用keilkill先清理,这样文件夹会大大缩小所占内存。

(STM32基础)STM32实现LED闪烁&LED流水灯&蜂鸣器_第2张图片

 二、操作GPIO口点亮LED灯

1)使能RCC开启GPIO时钟

在library中可以查看外设函数库,先找到RCC.h文件  

拖到最下方,一般最下方都是.h文件的所有库函数声明

(STM32基础)STM32实现LED闪烁&LED流水灯&蜂鸣器_第3张图片

 实际操作:

使能GPIOA口的时钟

 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);

2)使用GPIO_Init函数初始化GPIO

(STM32基础)STM32实现LED闪烁&LED流水灯&蜂鸣器_第4张图片

 实际操作:

GPIO初始化函数来初始化GPIOA口

(STM32基础)STM32实现LED闪烁&LED流水灯&蜂鸣器_第5张图片

 结构体变量创建(STM32基础)STM32实现LED闪烁&LED流水灯&蜂鸣器_第6张图片

 结构体变量的子变量创建:

(STM32基础)STM32实现LED闪烁&LED流水灯&蜂鸣器_第7张图片

 跳转到定义搜索子变量名找到可以设置的参数,设置所需参数。

(STM32基础)STM32实现LED闪烁&LED流水灯&蜂鸣器_第8张图片

子变量:MODE

 (STM32基础)STM32实现LED闪烁&LED流水灯&蜂鸣器_第9张图片

 八种GPIO口模式:

AIN  =  Analog IN 模拟输入

IN-FLOATING = IN FLOATING 浮空输入

IPD = IPD In Pull Down  下拉输入

IPU = IPUIn Pull Up 上拉输入

OUT_OU = Out Open Drain 开漏输出

OUT_PP = Out Push Pul  推挽输出

AF_OD = Atl Open Drain 复用开漏

AF_PP = Atl Push Pull 复用推挽

选择推挽输出

子变量:Pin

选择面包板上连接的Pin_0口

(STM32基础)STM32实现LED闪烁&LED流水灯&蜂鸣器_第10张图片

子变量:Speed

默认选择速度为50MHz

(STM32基础)STM32实现LED闪烁&LED流水灯&蜂鸣器_第11张图片

3)使用输出或者输入的函数控制GPIO 

(STM32基础)STM32实现LED闪烁&LED流水灯&蜂鸣器_第12张图片

GPIO口所需要了解的函数(复位、初始化、结构体赋值、八个GPIO口读写函数 )

Setbits 两个参数设置所选GPIO口为高电平

ResetBits 两个参数设置所选GPIO口为低电平

WriteBit 三个参数设置(前两个选择端口)最后一个参考下列函数定义

(STM32基础)STM32实现LED闪烁&LED流水灯&蜂鸣器_第13张图片

实际操作:

ResetBits 设置所选GPIO口为低电平  点亮LED

Setbits 设置所选GPIO口为高电平 熄灭LED

注意:配置GPIO口时,推挽模式高低电平均有驱动能力,开漏模式低电平有驱动能力,高电平时呈高阻态无驱动能力。

三、配置GPIO实现流水灯功能

1、通过查看PIN口定义  可以知道开启多个端口用 | 来实现 

(STM32基础)STM32实现LED闪烁&LED流水灯&蜂鸣器_第14张图片

(STM32基础)STM32实现LED闪烁&LED流水灯&蜂鸣器_第15张图片

2、通过使用GPIO_Write(); 函数来整体赋值Pin0-15个接口。

(STM32基础)STM32实现LED闪烁&LED流水灯&蜂鸣器_第16张图片

 通过查看函数的参数,第一个参数是GPIOA,第二个参数是直接赋指定值给输出数据寄存器。

因为c语言不支持直接写2进制,所以用十六进制代表二进制赋值。 

因为LED灯低电平点亮,所以0x0001按位取反。

(STM32基础)STM32实现LED闪烁&LED流水灯&蜂鸣器_第17张图片

八个灯的函数依次,最终实现流水灯闪烁现象。(STM32基础)STM32实现LED闪烁&LED流水灯&蜂鸣器_第18张图片

 还可以通过创建一个点灯数组,来完成花式点灯。

四、配置GPIO实现蜂鸣器鸣响

(STM32基础)STM32实现LED闪烁&LED流水灯&蜂鸣器_第19张图片

直接复用LED点亮程序,给蜂鸣器的IO接线口低电平,蜂鸣器鸣响。

五、使用库函数的几种方法

1、打开.h文件的最下方,查看里面有哪些可以调用的函数,再邮件查看函数定义,查看调用方法参数。

2、打开库函数用户手册,但是此用户手册是老版本,大部分函数调用方法一致。新版标准函数库官方还没有推出用户手册。

(STM32基础)STM32实现LED闪烁&LED流水灯&蜂鸣器_第20张图片在函数标准库文件夹内有一个帮助文档。

(STM32基础)STM32实现LED闪烁&LED流水灯&蜂鸣器_第21张图片

3、百度搜索参考别人的文档

你可能感兴趣的:(stm32,单片机,嵌入式硬件)